home *** CD-ROM | disk | FTP | other *** search
/ Game.EXE 2004 October / My Disc.iso / patch / Unreal Tournament 2004 / ut2004-winpatch3323.exe / UT2004-Patch / System / UnrealGame.u / Bot_CTFSquadAI_ScriptText.TextBuffer < prev    next >
Unknown  |  2004-09-07  |  18.8 KB

open in: MacOS 8.1     |     Win98     |     DOS

view JSON data     |     view as text


This file was not able to be converted.
This format is not currently supported by dexvert.

ConfidenceProgramDetectionMatch TypeSupport
100% file data default



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 00 00 00 00 00 00 00 | 7d ac 02 63 6c 61 73 73 |........|}..class|
|00000010| 20 43 54 46 53 71 75 61 | 64 41 49 20 65 78 74 65 | CTFSqua|dAI exte|
|00000020| 6e 64 73 20 53 71 75 61 | 64 41 49 3b 0d 0a 0d 0a |nds Squa|dAI;....|
|00000030| 76 61 72 20 66 6c 6f 61 | 74 20 4c 61 73 74 53 65 |var floa|t LastSe|
|00000040| 65 46 6c 61 67 43 61 72 | 72 69 65 72 3b 0d 0a 76 |eFlagCar|rier;..v|
|00000050| 61 72 20 43 54 46 46 6c | 61 67 20 46 72 69 65 6e |ar CTFFl|ag Frien|
|00000060| 64 6c 79 46 6c 61 67 2c | 20 45 6e 65 6d 79 46 6c |dlyFlag,| EnemyFl|
|00000070| 61 67 3b 0d 0a 76 61 72 | 20 41 73 73 61 75 6c 74 |ag;..var| Assault|
|00000080| 50 61 74 68 20 52 65 74 | 75 72 6e 50 61 74 68 3b |Path Ret|urnPath;|
|00000090| 09 2f 2f 20 61 6c 74 65 | 72 6e 61 74 65 20 70 61 |.// alte|rnate pa|
|000000a0| 74 68 20 74 6f 20 75 73 | 65 20 62 79 20 66 6c 61 |th to us|e by fla|
|000000b0| 67 20 63 61 72 72 69 65 | 72 20 72 65 74 75 72 6e |g carrie|r return|
|000000c0| 69 6e 67 20 74 6f 20 62 | 61 73 65 0d 0a 76 61 72 |ing to b|ase..var|
|000000d0| 20 6e 61 6d 65 20 52 65 | 74 75 72 6e 50 61 74 68 | name Re|turnPath|
|000000e0| 54 61 67 3b 0d 0a 76 61 | 72 20 4e 61 76 69 67 61 |Tag;..va|r Naviga|
|000000f0| 74 69 6f 6e 50 6f 69 6e | 74 20 48 69 64 65 50 61 |tionPoin|t HidePa|
|00000100| 74 68 3b 0d 0a 0d 0a 66 | 75 6e 63 74 69 6f 6e 20 |th;....f|unction |
|00000110| 41 73 73 69 67 6e 43 6f | 6d 62 6f 28 42 6f 74 20 |AssignCo|mbo(Bot |
|00000120| 42 29 0d 0a 7b 0d 0a 09 | 69 66 20 28 20 47 65 74 |B)..{...|if ( Get|
|00000130| 4f 72 64 65 72 73 28 29 | 20 21 3d 20 27 41 74 74 |Orders()| != 'Att|
|00000140| 61 63 6b 27 20 29 0d 0a | 09 09 53 75 70 65 72 2e |ack' )..|..Super.|
|00000150| 41 73 73 69 67 6e 43 6f | 6d 62 6f 28 42 29 3b 0d |AssignCo|mbo(B);.|
|00000160| 0a 7d 0d 0a 0d 0a 66 75 | 6e 63 74 69 6f 6e 20 62 |.}....fu|nction b|
|00000170| 6f 6f 6c 20 41 6c 6c 6f | 77 44 65 74 6f 75 72 54 |ool Allo|wDetourT|
|00000180| 6f 28 42 6f 74 20 42 2c | 4e 61 76 69 67 61 74 69 |o(Bot B,|Navigati|
|00000190| 6f 6e 50 6f 69 6e 74 20 | 4e 29 0d 0a 7b 0d 0a 09 |onPoint |N)..{...|
|000001a0| 69 66 20 28 20 42 2e 50 | 6c 61 79 65 72 52 65 70 |if ( B.P|layerRep|
|000001b0| 6c 69 63 61 74 69 6f 6e | 49 6e 66 6f 2e 48 61 73 |lication|Info.Has|
|000001c0| 46 6c 61 67 20 21 3d 20 | 45 6e 65 6d 79 46 6c 61 |Flag != |EnemyFla|
|000001d0| 67 20 29 0d 0a 09 09 72 | 65 74 75 72 6e 20 74 72 |g )....r|eturn tr|
|000001e0| 75 65 3b 0d 0a 0d 0a 09 | 69 66 20 28 20 28 42 2e |ue;.....|if ( (B.|
|000001f0| 52 6f 75 74 65 47 6f 61 | 6c 20 21 3d 20 46 72 69 |RouteGoa|l != Fri|
|00000200| 65 6e 64 6c 79 46 6c 61 | 67 2e 48 6f 6d 65 42 61 |endlyFla|g.HomeBa|
|00000210| 73 65 29 20 7c 7c 20 21 | 46 72 69 65 6e 64 6c 79 |se) || !|Friendly|
|00000220| 46 6c 61 67 2e 62 48 6f | 6d 65 20 29 0d 0a 09 09 |Flag.bHo|me )....|
|00000230| 72 65 74 75 72 6e 20 74 | 72 75 65 3b 0d 0a 09 72 |return t|rue;...r|
|00000240| 65 74 75 72 6e 20 28 20 | 4e 2e 4c 61 73 74 44 65 |eturn ( |N.LastDe|
|00000250| 74 6f 75 72 57 65 69 67 | 68 74 20 2a 20 42 2e 52 |tourWeig|ht * B.R|
|00000260| 6f 75 74 65 44 69 73 74 | 20 3e 20 32 20 29 3b 0d |outeDist| > 2 );.|
|00000270| 0a 7d 0d 0a 0d 0a 2f 2a | 20 46 69 6e 64 50 61 74 |.}..../*| FindPat|
|00000280| 68 54 6f 4f 62 6a 65 63 | 74 69 76 65 28 29 0d 0a |hToObjec|tive()..|
|00000290| 52 65 74 75 72 6e 73 20 | 70 61 74 68 20 61 20 62 |Returns |path a b|
|000002a0| 6f 74 20 73 68 6f 75 6c | 64 20 75 73 65 20 6d 6f |ot shoul|d use mo|
|000002b0| 76 69 6e 67 20 74 6f 77 | 61 72 64 20 61 20 62 61 |ving tow|ard a ba|
|000002c0| 73 65 0d 0a 2a 2f 0d 0a | 66 75 6e 63 74 69 6f 6e |se..*/..|function|
|000002d0| 20 62 6f 6f 6c 20 46 69 | 6e 64 50 61 74 68 54 6f | bool Fi|ndPathTo|
|000002e0| 4f 62 6a 65 63 74 69 76 | 65 28 42 6f 74 20 42 2c |Objectiv|e(Bot B,|
|000002f0| 20 41 63 74 6f 72 20 4f | 29 0d 0a 7b 0d 0a 09 69 | Actor O|)..{...i|
|00000300| 66 20 28 20 28 56 65 68 | 69 63 6c 65 28 42 2e 50 |f ( (Veh|icle(B.P|
|00000310| 61 77 6e 29 20 21 3d 20 | 4e 6f 6e 65 29 20 26 26 |awn) != |None) &&|
|00000320| 20 28 28 43 54 46 46 6c | 61 67 28 4f 29 20 21 3d | ((CTFFl|ag(O) !=|
|00000330| 20 4e 6f 6e 65 29 20 7c | 7c 20 28 43 54 46 42 61 | None) ||| (CTFBa|
|00000340| 73 65 28 4f 29 20 21 3d | 20 4e 6f 6e 65 29 29 0d |se(O) !=| None)).|
|00000350| 0a 09 09 26 26 20 28 56 | 53 69 7a 65 28 42 2e 50 |...&& (V|Size(B.P|
|00000360| 61 77 6e 2e 4c 6f 63 61 | 74 69 6f 6e 20 2d 20 4f |awn.Loca|tion - O|
|00000370| 2e 4c 6f 63 61 74 69 6f | 6e 29 20 3c 20 31 30 30 |.Locatio|n) < 100|
|00000380| 30 29 20 26 26 20 42 2e | 4c 69 6e 65 4f 66 53 69 |0) && B.|LineOfSi|
|00000390| 67 68 74 54 6f 28 4f 29 | 20 29 0d 0a 09 7b 0d 0a |ghtTo(O)| )...{..|
|000003a0| 09 09 42 2e 46 6f 72 6d | 65 72 56 65 68 69 63 6c |..B.Form|erVehicl|
|000003b0| 65 20 3d 20 56 65 68 69 | 63 6c 65 28 42 2e 50 61 |e = Vehi|cle(B.Pa|
|000003c0| 77 6e 29 3b 0d 0a 09 09 | 56 65 68 69 63 6c 65 28 |wn);....|Vehicle(|
|000003d0| 42 2e 50 61 77 6e 29 2e | 54 65 61 6d 55 73 65 54 |B.Pawn).|TeamUseT|
|000003e0| 69 6d 65 20 3d 20 4c 65 | 76 65 6c 2e 54 69 6d 65 |ime = Le|vel.Time|
|000003f0| 53 65 63 6f 6e 64 73 20 | 2b 20 36 3b 0d 0a 09 09 |Seconds |+ 6;....|
|00000400| 56 65 68 69 63 6c 65 28 | 42 2e 50 61 77 6e 29 2e |Vehicle(|B.Pawn).|
|00000410| 4b 44 72 69 76 65 72 4c | 65 61 76 65 28 66 61 6c |KDriverL|eave(fal|
|00000420| 73 65 29 3b 0d 0a 09 09 | 69 66 20 28 20 28 56 65 |se);....|if ( (Ve|
|00000430| 68 69 63 6c 65 28 42 2e | 50 61 77 6e 29 20 3d 3d |hicle(B.|Pawn) ==|
|00000440| 20 4e 6f 6e 65 29 20 26 | 26 20 28 42 2e 50 61 77 | None) &|& (B.Paw|
|00000450| 6e 2e 50 68 79 73 69 63 | 73 20 3d 3d 20 50 48 59 |n.Physic|s == PHY|
|00000460| 53 5f 46 61 6c 6c 69 6e | 67 29 20 26 26 20 42 2e |S_Fallin|g) && B.|
|00000470| 44 6f 57 61 69 74 46 6f | 72 4c 61 6e 64 69 6e 67 |DoWaitFo|rLanding|
|00000480| 28 29 20 29 0d 0a 09 09 | 7b 0d 0a 09 09 09 42 2e |() )....|{.....B.|
|00000490| 50 61 77 6e 2e 56 65 6c | 6f 63 69 74 79 2e 5a 20 |Pawn.Vel|ocity.Z |
|000004a0| 3d 20 30 3b 0d 0a 09 09 | 09 72 65 74 75 72 6e 20 |= 0;....|.return |
|000004b0| 74 72 75 65 3b 0d 0a 09 | 09 7d 0d 0a 09 7d 0d 0a |true;...|.}...}..|
|000004c0| 0d 0a 09 69 66 20 28 20 | 28 42 2e 50 6c 61 79 65 |...if ( |(B.Playe|
|000004d0| 72 52 65 70 6c 69 63 61 | 74 69 6f 6e 49 6e 66 6f |rReplica|tionInfo|
|000004e0| 2e 48 61 73 46 6c 61 67 | 20 21 3d 20 45 6e 65 6d |.HasFlag| != Enem|
|000004f0| 79 46 6c 61 67 29 20 7c | 7c 20 28 4f 20 21 3d 20 |yFlag) ||| (O != |
|00000500| 46 72 69 65 6e 64 6c 79 | 46 6c 61 67 2e 48 6f 6d |Friendly|Flag.Hom|
|00000510| 65 42 61 73 65 29 20 29 | 0d 0a 09 09 72 65 74 75 |eBase) )|....retu|
|00000520| 72 6e 20 53 75 70 65 72 | 2e 46 69 6e 64 50 61 74 |rn Super|.FindPat|
|00000530| 68 54 6f 4f 62 6a 65 63 | 74 69 76 65 28 42 2c 20 |hToObjec|tive(B, |
|00000540| 4f 29 3b 0d 0a 0d 0a 09 | 69 66 20 28 20 42 2e 62 |O);.....|if ( B.b|
|00000550| 46 69 6e 61 6c 53 74 72 | 65 74 63 68 20 7c 7c 20 |FinalStr|etch || |
|00000560| 28 52 65 74 75 72 6e 50 | 61 74 68 20 3d 3d 20 4e |(ReturnP|ath == N|
|00000570| 6f 6e 65 29 20 7c 7c 20 | 28 28 4f 20 3d 3d 20 53 |one) || |((O == S|
|00000580| 71 75 61 64 4f 62 6a 65 | 63 74 69 76 65 29 20 26 |quadObje|ctive) &|
|00000590| 26 20 53 71 75 61 64 4f | 62 6a 65 63 74 69 76 65 |& SquadO|bjective|
|000005a0| 2e 42 6f 74 4e 65 61 72 | 4f 62 6a 65 63 74 69 76 |.BotNear|Objectiv|
|000005b0| 65 28 42 29 29 20 29 0d | 0a 09 09 72 65 74 75 72 |e(B)) ).|...retur|
|000005c0| 6e 20 42 2e 53 65 74 52 | 6f 75 74 65 54 6f 47 6f |n B.SetR|outeToGo|
|000005d0| 61 6c 28 4f 29 3b 0d 0a | 0d 0a 09 42 2e 4d 6f 76 |al(O);..|...B.Mov|
|000005e0| 65 54 61 72 67 65 74 20 | 3d 20 4e 6f 6e 65 3b 0d |eTarget |= None;.|
|000005f0| 0a 09 69 66 20 28 20 42 | 2e 41 63 74 6f 72 52 65 |..if ( B|.ActorRe|
|00000600| 61 63 68 61 62 6c 65 28 | 4f 29 20 29 0d 0a 09 7b |achable(|O) )...{|
|00000610| 0d 0a 09 09 69 66 20 28 | 20 28 56 65 68 69 63 6c |....if (| (Vehicl|
|00000620| 65 28 42 2e 50 61 77 6e | 29 20 21 3d 20 4e 6f 6e |e(B.Pawn|) != Non|
|00000630| 65 29 20 26 26 20 28 42 | 2e 50 61 77 6e 2e 4c 6f |e) && (B|.Pawn.Lo|
|00000640| 63 61 74 69 6f 6e 2e 5a | 20 2d 20 4f 2e 4c 6f 63 |cation.Z| - O.Loc|
|00000650| 61 74 69 6f 6e 2e 5a 20 | 3c 20 35 30 30 29 20 26 |ation.Z |< 500) &|
|00000660| 26 20 28 28 43 54 46 46 | 6c 61 67 28 4f 29 20 21 |& ((CTFF|lag(O) !|
|00000670| 3d 20 4e 6f 6e 65 29 20 | 7c 7c 20 28 43 54 46 42 |= None) ||| (CTFB|
|00000680| 61 73 65 28 4f 29 20 21 | 3d 20 4e 6f 6e 65 29 29 |ase(O) !|= None))|
|00000690| 20 29 0d 0a 09 09 09 56 | 65 68 69 63 6c 65 28 42 | ).....V|ehicle(B|
|000006a0| 2e 50 61 77 6e 29 2e 4b | 44 72 69 76 65 72 4c 65 |.Pawn).K|DriverLe|
|000006b0| 61 76 65 28 66 61 6c 73 | 65 29 3b 0d 0a 09 09 69 |ave(fals|e);....i|
|000006c0| 66 20 28 20 42 2e 50 61 | 77 6e 2e 52 65 61 63 68 |f ( B.Pa|wn.Reach|
|000006d0| 65 64 44 65 73 74 69 6e | 61 74 69 6f 6e 28 4f 29 |edDestin|ation(O)|
|000006e0| 20 29 0d 0a 09 09 7b 0d | 0a 09 09 09 4f 2e 54 6f | )....{.|....O.To|
|000006f0| 75 63 68 28 42 2e 50 61 | 77 6e 29 3b 0d 0a 09 09 |uch(B.Pa|wn);....|
|00000700| 09 72 65 74 75 72 6e 20 | 66 61 6c 73 65 3b 0d 0a |.return |false;..|
|00000710| 09 09 7d 0d 0a 09 09 42 | 2e 52 6f 75 74 65 47 6f |..}....B|.RouteGo|
|00000720| 61 6c 20 3d 20 4f 3b 0d | 0a 09 09 42 2e 52 6f 75 |al = O;.|...B.Rou|
|00000730| 74 65 43 61 63 68 65 5b | 30 5d 20 3d 20 4e 6f 6e |teCache[|0] = Non|
|00000740| 65 3b 0d 0a 09 09 42 2e | 47 6f 61 6c 53 74 72 69 |e;....B.|GoalStri|
|00000750| 6e 67 20 3d 20 42 2e 47 | 6f 61 6c 53 74 72 69 6e |ng = B.G|oalStrin|
|00000760| 67 40 22 61 6c 6d 6f 73 | 74 20 61 74 20 22 24 4f |g@"almos|t at "$O|
|00000770| 3b 0d 0a 09 09 42 2e 4d | 6f 76 65 54 61 72 67 65 |;....B.M|oveTarge|
|00000780| 74 20 3d 20 4f 3b 0d 0a | 09 09 42 2e 62 46 69 6e |t = O;..|..B.bFin|
|00000790| 61 6c 53 74 72 65 74 63 | 68 20 3d 20 74 72 75 65 |alStretc|h = true|
|000007a0| 3b 0d 0a 09 09 42 2e 53 | 65 74 41 74 74 72 61 63 |;....B.S|etAttrac|
|000007b0| 74 69 6f 6e 53 74 61 74 | 65 28 29 3b 0d 0a 09 09 |tionStat|e();....|
|000007c0| 72 65 74 75 72 6e 20 74 | 72 75 65 3b 0d 0a 09 7d |return t|rue;...}|
|000007d0| 0d 0a 0d 0a 09 69 66 20 | 28 20 42 2e 50 61 77 6e |.....if |( B.Pawn|
|000007e0| 2e 52 65 61 63 68 65 64 | 44 65 73 74 69 6e 61 74 |.Reached|Destinat|
|000007f0| 69 6f 6e 28 52 65 74 75 | 72 6e 50 61 74 68 29 20 |ion(Retu|rnPath) |
|00000800| 29 0d 0a 09 7b 0d 0a 09 | 09 42 2e 47 6f 61 6c 53 |)...{...|.B.GoalS|
|00000810| 74 72 69 6e 67 20 3d 20 | 42 2e 47 6f 61 6c 53 74 |tring = |B.GoalSt|
|00000820| 72 69 6e 67 40 22 46 69 | 6e 64 20 70 61 74 68 20 |ring@"Fi|nd path |
|00000830| 74 6f 20 22 24 4f 24 22 | 20 6e 6f 77 20 6e 65 61 |to "$O$"| now nea|
|00000840| 72 20 22 24 52 65 74 75 | 72 6e 50 61 74 68 3b 0d |r "$Retu|rnPath;.|
|00000850| 0a 09 09 42 2e 4d 6f 76 | 65 54 61 72 67 65 74 20 |...B.Mov|eTarget |
|00000860| 3d 20 52 65 74 75 72 6e | 50 61 74 68 3b 0d 0a 09 |= Return|Path;...|
|00000870| 09 52 65 74 75 72 6e 50 | 61 74 68 20 3d 20 52 65 |.ReturnP|ath = Re|
|00000880| 74 75 72 6e 50 61 74 68 | 2e 46 69 6e 64 50 72 65 |turnPath|.FindPre|
|00000890| 76 69 6f 75 73 50 61 74 | 68 28 52 65 74 75 72 6e |viousPat|h(Return|
|000008a0| 50 61 74 68 54 61 67 29 | 3b 0d 0a 09 09 69 66 20 |PathTag)|;....if |
|000008b0| 28 20 52 65 74 75 72 6e | 50 61 74 68 20 3d 3d 20 |( Return|Path == |
|000008c0| 4e 6f 6e 65 20 29 0d 0a | 09 09 7b 0d 0a 09 09 09 |None )..|..{.....|
|000008d0| 42 2e 62 46 69 6e 61 6c | 53 74 72 65 74 63 68 20 |B.bFinal|Stretch |
|000008e0| 3d 20 74 72 75 65 3b 0d | 0a 09 09 09 42 2e 46 69 |= true;.|....B.Fi|
|000008f0| 6e 64 42 65 73 74 50 61 | 74 68 54 6f 77 61 72 64 |ndBestPa|thToward|
|00000900| 28 4f 2c 74 72 75 65 2c | 74 72 75 65 29 3b 0d 0a |(O,true,|true);..|
|00000910| 09 09 7d 0d 0a 09 09 65 | 6c 73 65 0d 0a 09 09 09 |..}....e|lse.....|
|00000920| 42 2e 46 69 6e 64 42 65 | 73 74 50 61 74 68 54 6f |B.FindBe|stPathTo|
|00000930| 77 61 72 64 28 52 65 74 | 75 72 6e 50 61 74 68 2c |ward(Ret|urnPath,|
|00000940| 74 72 75 65 2c 74 72 75 | 65 29 3b 0d 0a 09 7d 0d |true,tru|e);...}.|
|00000950| 0a 09 65 6c 73 65 0d 0a | 09 7b 0d 0a 09 09 42 2e |..else..|.{....B.|
|00000960| 47 6f 61 6c 53 74 72 69 | 6e 67 20 3d 20 42 2e 47 |GoalStri|ng = B.G|
|00000970| 6f 61 6c 53 74 72 69 6e | 67 40 22 46 69 6e 64 20 |oalStrin|g@"Find |
|00000980| 70 61 74 68 20 74 6f 20 | 22 24 4f 24 22 20 74 68 |path to |"$O$" th|
|00000990| 72 6f 75 67 68 20 22 24 | 52 65 74 75 72 6e 50 61 |rough "$|ReturnPa|
|000009a0| 74 68 3b 0d 0a 09 09 69 | 66 20 28 20 21 42 2e 46 |th;....i|f ( !B.F|
|000009b0| 69 6e 64 42 65 73 74 50 | 61 74 68 54 6f 77 61 72 |indBestP|athTowar|
|000009c0| 64 28 52 65 74 75 72 6e | 50 61 74 68 2c 74 72 75 |d(Return|Path,tru|
|000009d0| 65 2c 74 72 75 65 29 20 | 29 0d 0a 09 09 7b 0d 0a |e,true) |)....{..|
|000009e0| 09 09 09 42 2e 47 6f 61 | 6c 53 74 72 69 6e 67 20 |...B.Goa|lString |
|000009f0| 3d 20 42 2e 47 6f 61 6c | 53 74 72 69 6e 67 40 22 |= B.Goal|String@"|
|00000a00| 46 69 6e 64 20 70 61 74 | 68 20 74 6f 20 22 24 4f |Find pat|h to "$O|
|00000a10| 24 22 20 6e 6f 20 70 61 | 74 68 20 74 6f 20 52 65 |$" no pa|th to Re|
|00000a20| 74 75 72 6e 50 61 74 68 | 22 3b 0d 0a 09 09 09 69 |turnPath|";.....i|
|00000a30| 66 20 28 20 42 2e 62 53 | 6f 61 6b 69 6e 67 20 26 |f ( B.bS|oaking &|
|00000a40| 26 20 28 50 68 79 73 69 | 63 73 20 21 3d 20 50 48 |& (Physi|cs != PH|
|00000a50| 59 53 5f 46 61 6c 6c 69 | 6e 67 29 20 29 0d 0a 09 |YS_Falli|ng) )...|
|00000a60| 09 09 09 42 2e 53 6f 61 | 6b 53 74 6f 70 28 22 43 |...B.Soa|kStop("C|
|00000a70| 4f 55 4c 44 4e 27 54 20 | 46 49 4e 44 20 50 41 54 |OULDN'T |FIND PAT|
|00000a80| 48 20 54 4f 20 52 45 54 | 55 52 4e 50 41 54 48 20 |H TO RET|URNPATH |
|00000a90| 22 24 52 65 74 75 72 6e | 50 61 74 68 29 3b 0d 0a |"$Return|Path);..|
|00000aa0| 09 09 09 42 2e 46 69 6e | 64 42 65 73 74 50 61 74 |...B.Fin|dBestPat|
|00000ab0| 68 54 6f 77 61 72 64 28 | 4f 2c 74 72 75 65 2c 74 |hToward(|O,true,t|
|00000ac0| 72 75 65 29 3b 0d 0a 09 | 09 7d 0d 0a 09 7d 0d 0a |rue);...|.}...}..|
|00000ad0| 09 72 65 74 75 72 6e 20 | 42 2e 53 74 61 72 74 4d |.return |B.StartM|
|00000ae0| 6f 76 65 54 6f 77 61 72 | 64 28 4f 29 3b 0d 0a 7d |oveTowar|d(O);..}|
|00000af0| 0d 0a 0d 0a 66 75 6e 63 | 74 69 6f 6e 20 62 6f 6f |....func|tion boo|
|00000b00| 6c 20 41 6c 6c 6f 77 54 | 72 61 6e 73 6c 6f 63 61 |l AllowT|ransloca|
|00000b10| 74 69 6f 6e 42 79 28 42 | 6f 74 20 42 29 0d 0a 7b |tionBy(B|ot B)..{|
|00000b20| 0d 0a 09 72 65 74 75 72 | 6e 20 28 20 42 2e 50 61 |...retur|n ( B.Pa|
|00000b30| 77 6e 20 21 3d 20 45 6e | 65 6d 79 46 6c 61 67 2e |wn != En|emyFlag.|
|00000b40| 48 6f 6c 64 65 72 20 29 | 3b 0d 0a 7d 0d 0a 0d 0a |Holder )|;..}....|
|00000b50| 2f 2a 20 47 6f 50 69 63 | 6b 75 70 46 6c 61 67 28 |/* GoPic|kupFlag(|
|00000b60| 29 0d 0a 68 61 76 65 20 | 62 6f 74 20 67 6f 20 70 |)..have |bot go p|
|00000b70| 69 63 6b 75 70 20 64 72 | 6f 70 70 65 64 20 66 72 |ickup dr|opped fr|
|00000b80| 69 65 6e 64 6c 79 20 66 | 6c 61 67 0d 0a 2a 2f 0d |iendly f|lag..*/.|
|00000b90| 0a 66 75 6e 63 74 69 6f | 6e 20 62 6f 6f 6c 20 47 |.functio|n bool G|
|00000ba0| 6f 50 69 63 6b 75 70 46 | 6c 61 67 28 42 6f 74 20 |oPickupF|lag(Bot |
|00000bb0| 42 29 0d 0a 7b 0d 0a 09 | 69 66 20 28 20 46 69 6e |B)..{...|if ( Fin|
|00000bc0| 64 50 61 74 68 54 6f 4f | 62 6a 65 63 74 69 76 65 |dPathToO|bjective|
|00000bd0| 28 42 2c 46 72 69 65 6e | 64 6c 79 46 6c 61 67 29 |(B,Frien|dlyFlag)|
|00000be0| 20 29 0d 0a 09 7b 0d 0a | 09 09 69 66 20 28 20 4c | )...{..|..if ( L|
|00000bf0| 65 76 65 6c 2e 54 69 6d | 65 53 65 63 6f 6e 64 73 |evel.Tim|eSeconds|
|00000c00| 20 2d 20 43 54 46 54 65 | 61 6d 41 49 28 54 65 61 | - CTFTe|amAI(Tea|
|00000c10| 6d 2e 41 49 29 2e 4c 61 | 73 74 47 6f 74 46 6c 61 |m.AI).La|stGotFla|
|00000c20| 67 20 3e 20 36 20 29 0d | 0a 09 09 7b 0d 0a 09 09 |g > 6 ).|...{....|
|00000c30| 09 43 54 46 54 65 61 6d | 41 49 28 54 65 61 6d 2e |.CTFTeam|AI(Team.|
|00000c40| 41 49 29 2e 4c 61 73 74 | 47 6f 74 46 6c 61 67 20 |AI).Last|GotFlag |
|00000c50| 3d 20 4c 65 76 65 6c 2e | 54 69 6d 65 53 65 63 6f |= Level.|TimeSeco|
|00000c60| 6e 64 73 3b 0d 0a 09 09 | 09 42 2e 53 65 6e 64 4d |nds;....|.B.SendM|
|00000c70| 65 73 73 61 67 65 28 4e | 6f 6e 65 2c 20 27 4f 54 |essage(N|one, 'OT|
|00000c80| 48 45 52 27 2c 20 42 2e | 47 65 74 4d 65 73 73 61 |HER', B.|GetMessa|
|00000c90| 67 65 49 6e 64 65 78 28 | 27 47 4f 54 4f 55 52 46 |geIndex(|'GOTOURF|
|00000ca0| 4c 41 47 27 29 2c 20 32 | 30 2c 20 27 54 45 41 4d |LAG'), 2|0, 'TEAM|
|00000cb0| 27 29 3b 0d 0a 09 09 7d | 0d 0a 09 09 42 2e 47 6f |');....}|....B.Go|
|00000cc0| 61 6c 53 74 72 69 6e 67 | 20 3d 20 22 50 69 63 6b |alString| = "Pick|
|00000cd0| 75 70 20 66 72 69 65 6e | 64 6c 79 20 66 6c 61 67 |up frien|dly flag|
|00000ce0| 22 3b 0d 0a 09 09 72 65 | 74 75 72 6e 20 74 72 75 |";....re|turn tru|
|00000cf0| 65 3b 0d 0a 09 7d 0d 0a | 09 72 65 74 75 72 6e 20 |e;...}..|.return |
|00000d00| 66 61 6c 73 65 3b 0d 0a | 7d 0d 0a 0d 0a 66 75 6e |false;..|}....fun|
|00000d10| 63 74 69 6f 6e 20 61 63 | 74 6f 72 20 46 6f 72 6d |ction ac|tor Form|
|00000d20| 61 74 69 6f 6e 43 65 6e | 74 65 72 28 29 0d 0a 7b |ationCen|ter()..{|
|00000d30| 0d 0a 09 69 66 20 28 20 | 28 53 71 75 61 64 4f 62 |...if ( |(SquadOb|
|00000d40| 6a 65 63 74 69 76 65 20 | 21 3d 20 4e 6f 6e 65 29 |jective |!= None)|
|00000d50| 20 26 26 20 28 53 71 75 | 61 64 4f 62 6a 65 63 74 | && (Squ|adObject|
|00000d60| 69 76 65 2e 44 65 66 65 | 6e 64 65 72 54 65 61 6d |ive.Defe|nderTeam|
|00000d70| 49 6e 64 65 78 20 3d 3d | 20 54 65 61 6d 2e 54 65 |Index ==| Team.Te|
|00000d80| 61 6d 49 6e 64 65 78 29 | 20 29 0d 0a 09 09 72 65 |amIndex)| )....re|
|00000d90| 74 75 72 6e 20 53 71 75 | 61 64 4f 62 6a 65 63 74 |turn Squ|adObject|
|00000da0| 69 76 65 3b 0d 0a 09 69 | 66 20 28 20 28 45 6e 65 |ive;...i|f ( (Ene|
|00000db0| 6d 79 46 6c 61 67 2e 48 | 6f 6c 64 65 72 20 21 3d |myFlag.H|older !=|
|00000dc0| 20 4e 6f 6e 65 29 20 26 | 26 20 28 47 65 74 4f 72 | None) &|& (GetOr|
|00000dd0| 64 65 72 73 28 29 20 21 | 3d 20 27 44 65 66 65 6e |ders() !|= 'Defen|
|00000de0| 64 27 29 20 26 26 20 21 | 53 71 75 61 64 4c 65 61 |d') && !|SquadLea|
|00000df0| 64 65 72 2e 49 73 41 28 | 27 50 6c 61 79 65 72 43 |der.IsA(|'PlayerC|
|00000e00| 6f 6e 74 72 6f 6c 6c 65 | 72 27 29 20 29 0d 0a 09 |ontrolle|r') )...|
|00000e10| 09 72 65 74 75 72 6e 20 | 45 6e 65 6d 79 46 6c 61 |.return |EnemyFla|
|00000e20| 67 2e 48 6f 6c 64 65 72 | 3b 0d 0a 09 72 65 74 75 |g.Holder|;...retu|
|00000e30| 72 6e 20 53 71 75 61 64 | 4c 65 61 64 65 72 2e 50 |rn Squad|Leader.P|
|00000e40| 61 77 6e 3b 0d 0a 7d 0d | 0a 0d 0a 66 75 6e 63 74 |awn;..}.|...funct|
|00000e50| 69 6f 6e 20 62 6f 6f 6c | 20 56 69 73 69 62 6c 65 |ion bool| Visible|
|00000e60| 54 6f 45 6e 65 6d 69 65 | 73 4f 66 28 41 63 74 6f |ToEnemie|sOf(Acto|
|00000e70| 72 20 41 2c 20 42 6f 74 | 20 42 29 0d 0a 7b 0d 0a |r A, Bot| B)..{..|
|00000e80| 09 69 66 20 28 20 28 42 | 2e 45 6e 65 6d 79 20 21 |.if ( (B|.Enemy !|
|00000e90| 3d 20 4e 6f 6e 65 29 20 | 26 26 20 46 61 73 74 54 |= None) |&& FastT|
|00000ea0| 72 61 63 65 28 41 2e 4c | 6f 63 61 74 69 6f 6e 2c |race(A.L|ocation,|
|00000eb0| 20 42 2e 45 6e 65 6d 79 | 2e 4c 6f 63 61 74 69 6f | B.Enemy|.Locatio|
|00000ec0| 6e 20 2b 20 42 2e 45 6e | 65 6d 79 2e 43 6f 6c 6c |n + B.En|emy.Coll|
|00000ed0| 69 73 69 6f 6e 48 65 69 | 67 68 74 20 2a 20 76 65 |isionHei|ght * ve|
|00000ee0| 63 74 28 30 2c 30 2c 31 | 29 29 20 29 0d 0a 09 09 |ct(0,0,1|)) )....|
|00000ef0| 72 65 74 75 72 6e 20 74 | 72 75 65 3b 0d 0a 09 72 |return t|rue;...r|
|00000f00| 65 74 75 72 6e 20 66 61 | 6c 73 65 3b 0d 0a 7d 0d |eturn fa|lse;..}.|
|00000f10| 0a 0d 0a 66 75 6e 63 74 | 69 6f 6e 20 4e 61 76 69 |...funct|ion Navi|
|00000f20| 67 61 74 69 6f 6e 50 6f | 69 6e 74 20 46 69 6e 64 |gationPo|int Find|
|00000f30| 48 69 64 65 50 61 74 68 | 46 6f 72 28 42 6f 74 20 |HidePath|For(Bot |
|00000f40| 42 29 0d 0a 7b 0d 0a 09 | 6c 6f 63 61 6c 20 4e 61 |B)..{...|local Na|
|00000f50| 76 69 67 61 74 69 6f 6e | 50 6f 69 6e 74 20 4e 3b |vigation|Point N;|
|00000f60| 0d 0a 09 6c 6f 63 61 6c | 20 49 6e 76 65 6e 74 6f |...local| Invento|
|00000f70| 72 79 53 70 6f 74 20 42 | 65 73 74 3b 0d 0a 09 6c |rySpot B|est;...l|
|00000f80| 6f 63 61 6c 20 66 6c 6f | 61 74 20 4e 65 77 44 2c |ocal flo|at NewD,|
|00000f90| 20 42 65 73 74 44 3b 0d | 0a 09 6c 6f 63 61 6c 20 | BestD;.|..local |
|00000fa0| 69 6e 74 20 4d 79 54 65 | 61 6d 4e 75 6d 2c 20 45 |int MyTe|amNum, E|
|00000fb0| 6e 65 6d 79 54 65 61 6d | 4e 75 6d 3b 0d 0a 0d 0a |nemyTeam|Num;....|
|00000fc0| 09 4d 79 54 65 61 6d 4e | 75 6d 20 3d 20 54 65 61 |.MyTeamN|um = Tea|
|00000fd0| 6d 2e 54 65 61 6d 49 6e | 64 65 78 3b 0d 0a 09 69 |m.TeamIn|dex;...i|
|00000fe0| 66 20 28 20 4d 79 54 65 | 61 6d 4e 75 6d 20 3d 3d |f ( MyTe|amNum ==|
|00000ff0| 20 30 20 29 0d 0a 09 09 | 45 6e 65 6d 79 54 65 61 | 0 )....|EnemyTea|
|00001000| 6d 4e 75 6d 20 3d 20 31 | 3b 0d 0a 0d 0a 09 2f 2f |mNum = 1|;.....//|
|00001010| 20 6c 6f 6f 6b 20 66 6f | 72 20 6e 65 61 72 62 79 | look fo|r nearby|
|00001020| 20 69 6e 76 65 6e 74 6f | 72 79 0d 0a 09 2f 2f 20 | invento|ry...// |
|00001030| 73 74 61 79 20 61 77 61 | 79 20 66 72 6f 6d 20 65 |stay awa|y from e|
|00001040| 6e 65 6d 69 65 73 2c 20 | 61 6e 64 20 65 6e 65 6d |nemies, |and enem|
|00001050| 79 20 62 61 73 65 0d 0a | 09 2f 2f 20 64 6f 6e 27 |y base..|.// don'|
|00001060| 74 20 67 6f 20 74 6f 6f | 20 66 61 72 0d 0a 0d 0a |t go too| far....|
|00001070| 09 46 6f 72 20 28 20 4e | 3d 4c 65 76 65 6c 2e 4e |.For ( N|=Level.N|
|00001080| 61 76 69 67 61 74 69 6f | 6e 50 6f 69 6e 74 4c 69 |avigatio|nPointLi|
|00001090| 73 74 3b 20 4e 21 3d 4e | 6f 6e 65 3b 20 4e 3d 4e |st; N!=N|one; N=N|
|000010a0| 2e 4e 65 78 74 4e 61 76 | 69 67 61 74 69 6f 6e 50 |.NextNav|igationP|
|000010b0| 6f 69 6e 74 20 29 0d 0a | 09 09 69 66 20 28 20 28 |oint )..|..if ( (|
|000010c0| 49 6e 76 65 6e 74 6f 72 | 79 53 70 6f 74 28 4e 29 |Inventor|ySpot(N)|
|000010d0| 20 21 3d 20 4e 6f 6e 65 | 29 0d 0a 09 09 09 26 26 | != None|).....&&|
|000010e0| 20 28 4e 2e 42 61 73 65 | 56 69 73 69 62 6c 65 5b | (N.Base|Visible[|
|000010f0| 45 6e 65 6d 79 54 65 61 | 6d 4e 75 6d 5d 20 3d 3d |EnemyTea|mNum] ==|
|00001100| 20 30 29 0d 0a 09 09 09 | 26 26 20 28 4e 2e 42 61 | 0).....|&& (N.Ba|
|00001110| 73 65 44 69 73 74 5b 4d | 79 54 65 61 6d 4e 75 6d |seDist[M|yTeamNum|
|00001120| 5d 20 3c 20 46 4d 69 6e | 28 32 34 30 30 2c 30 2e |] < FMin|(2400,0.|
|00001130| 37 2a 4e 2e 42 61 73 65 | 44 69 73 74 5b 45 6e 65 |7*N.Base|Dist[Ene|
|00001140| 6d 79 54 65 61 6d 4e 75 | 6d 5d 29 29 20 29 0d 0a |myTeamNu|m])) )..|
|00001150| 09 09 7b 0d 0a 09 09 09 | 69 66 20 28 20 42 65 73 |..{.....|if ( Bes|
|00001160| 74 20 3d 3d 20 4e 6f 6e | 65 20 29 0d 0a 09 09 09 |t == Non|e ).....|
|00001170| 7b 0d 0a 09 09 09 09 69 | 66 20 28 20 21 56 69 73 |{......i|f ( !Vis|
|00001180| 69 62 6c 65 54 6f 45 6e | 65 6d 69 65 73 4f 66 28 |ibleToEn|emiesOf(|
|00001190| 4e 2c 42 29 20 29 0d 0a | 09 09 09 09 7b 0d 0a 09 |N,B) )..|....{...|
|000011a0| 09 09 09 09 42 65 73 74 | 20 3d 20 49 6e 76 65 6e |....Best| = Inven|
|000011b0| 74 6f 72 79 53 70 6f 74 | 28 4e 29 3b 0d 0a 09 09 |torySpot|(N);....|
|000011c0| 09 09 09 69 66 20 28 20 | 28 42 65 73 74 2e 6d 61 |...if ( |(Best.ma|
|000011d0| 72 6b 65 64 49 74 65 6d | 20 21 3d 20 4e 6f 6e 65 |rkedItem| != None|
|000011e0| 29 20 26 26 20 42 65 73 | 74 2e 6d 61 72 6b 65 64 |) && Bes|t.marked|
|000011f0| 49 74 65 6d 2e 52 65 61 | 64 79 54 6f 50 69 63 6b |Item.Rea|dyToPick|
|00001200| 75 70 28 33 29 20 29 0d | 0a 09 09 09 09 09 09 42 |up(3) ).|.......B|
|00001210| 65 73 74 44 20 3d 20 42 | 65 73 74 2e 6d 61 72 6b |estD = B|est.mark|
|00001220| 65 64 49 74 65 6d 2e 42 | 6f 74 44 65 73 69 72 65 |edItem.B|otDesire|
|00001230| 61 62 69 6c 69 74 79 28 | 42 2e 50 61 77 6e 29 3b |ability(|B.Pawn);|
|00001240| 0d 0a 09 09 09 09 7d 0d | 0a 09 09 09 7d 0d 0a 09 |......}.|....}...|
|00001250| 09 09 65 6c 73 65 20 69 | 66 20 28 20 28 28 42 65 |..else i|f ( ((Be|
|00001260| 73 74 2e 6d 61 72 6b 65 | 64 49 74 65 6d 20 3d 3d |st.marke|dItem ==|
|00001270| 20 4e 6f 6e 65 29 20 7c | 7c 20 21 42 65 73 74 2e | None) ||| !Best.|
|00001280| 6d 61 72 6b 65 64 49 74 | 65 6d 2e 52 65 61 64 79 |markedIt|em.Ready|
|00001290| 54 6f 50 69 63 6b 75 70 | 28 33 29 29 20 26 26 20 |ToPickup|(3)) && |
|000012a0| 28 49 6e 76 65 6e 74 6f | 72 79 53 70 6f 74 28 4e |(Invento|rySpot(N|
|000012b0| 29 2e 6d 61 72 6b 65 64 | 49 74 65 6d 20 21 3d 20 |).marked|Item != |
|000012c0| 4e 6f 6e 65 29 20 29 0d | 0a 09 09 09 7b 0d 0a 09 |None) ).|....{...|
|000012d0| 09 09 09 69 66 20 28 20 | 28 49 6e 76 65 6e 74 6f |...if ( |(Invento|
|000012e0| 72 79 53 70 6f 74 28 4e | 29 2e 6d 61 72 6b 65 64 |rySpot(N|).marked|
|000012f0| 49 74 65 6d 2e 52 65 61 | 64 79 54 6f 50 69 63 6b |Item.Rea|dyToPick|
|00001300| 75 70 28 33 29 20 7c 7c | 20 28 46 52 61 6e 64 28 |up(3) ||| (FRand(|
|00001310| 29 20 3c 20 30 2e 35 29 | 29 0d 0a 09 09 09 09 09 |) < 0.5)|).......|
|00001320| 26 26 20 21 56 69 73 69 | 62 6c 65 54 6f 45 6e 65 |&& !Visi|bleToEne|
|00001330| 6d 69 65 73 4f 66 28 4e | 2c 42 29 20 20 29 0d 0a |miesOf(N|,B) )..|
|00001340| 09 09 09 09 7b 0d 0a 09 | 09 09 09 09 42 65 73 74 |....{...|....Best|
|00001350| 20 3d 20 49 6e 76 65 6e | 74 6f 72 79 53 70 6f 74 | = Inven|torySpot|
|00001360| 28 4e 29 3b 0d 0a 09 09 | 09 09 09 42 65 73 74 44 |(N);....|...BestD|
|00001370| 20 3d 20 42 65 73 74 2e | 6d 61 72 6b 65 64 49 74 | = Best.|markedIt|
|00001380| 65 6d 2e 42 6f 74 44 65 | 73 69 72 65 61 62 69 6c |em.BotDe|sireabil|
|00001390| 69 74 79 28 42 2e 50 61 | 77 6e 29 3b 0d 0a 09 09 |ity(B.Pa|wn);....|
|000013a0| 09 09 7d 0d 0a 09 09 09 | 7d 0d 0a 09 09 09 65 6c |..}.....|}.....el|
|000013b0| 73 65 20 69 66 20 28 20 | 28 49 6e 76 65 6e 74 6f |se if ( |(Invento|
|000013c0| 72 79 53 70 6f 74 28 4e | 29 2e 6d 61 72 6b 65 64 |rySpot(N|).marked|
|000013d0| 49 74 65 6d 20 21 3d 20 | 4e 6f 6e 65 29 20 26 26 |Item != |None) &&|
|000013e0| 20 49 6e 76 65 6e 74 6f | 72 79 53 70 6f 74 28 4e | Invento|rySpot(N|
|000013f0| 29 2e 6d 61 72 6b 65 64 | 49 74 65 6d 2e 52 65 61 |).marked|Item.Rea|
|00001400| 64 79 54 6f 50 69 63 6b | 75 70 28 33 29 20 29 0d |dyToPick|up(3) ).|
|00001410| 0a 09 09 09 7b 0d 0a 09 | 09 09 09 4e 65 77 44 20 |....{...|...NewD |
|00001420| 3d 20 49 6e 76 65 6e 74 | 6f 72 79 53 70 6f 74 28 |= Invent|orySpot(|
|00001430| 4e 29 2e 6d 61 72 6b 65 | 64 49 74 65 6d 2e 42 6f |N).marke|dItem.Bo|
|00001440| 74 44 65 73 69 72 65 61 | 62 69 6c 69 74 79 28 42 |tDesirea|bility(B|
|00001450| 2e 50 61 77 6e 29 3b 0d | 0a 09 09 09 09 69 66 20 |.Pawn);.|.....if |
|00001460| 28 20 28 4e 65 77 44 20 | 3e 20 42 65 73 74 44 29 |( (NewD |> BestD)|
|00001470| 20 26 26 20 21 56 69 73 | 69 62 6c 65 54 6f 45 6e | && !Vis|ibleToEn|
|00001480| 65 6d 69 65 73 4f 66 28 | 4e 2c 42 29 20 29 0d 0a |emiesOf(|N,B) )..|
|00001490| 09 09 09 09 7b 0d 0a 09 | 09 09 09 09 42 65 73 74 |....{...|....Best|
|000014a0| 20 3d 20 49 6e 76 65 6e | 74 6f 72 79 53 70 6f 74 | = Inven|torySpot|
|000014b0| 28 4e 29 3b 0d 0a 09 09 | 09 09 09 42 65 73 74 44 |(N);....|...BestD|
|000014c0| 20 3d 20 4e 65 77 44 3b | 0d 0a 09 09 09 09 7d 0d | = NewD;|......}.|
|000014d0| 0a 09 09 09 7d 0d 0a 09 | 09 7d 0d 0a 09 72 65 74 |....}...|.}...ret|
|000014e0| 75 72 6e 20 42 65 73 74 | 3b 0d 0a 7d 0d 0a 0d 0a |urn Best|;..}....|
|000014f0| 66 75 6e 63 74 69 6f 6e | 20 62 6f 6f 6c 20 43 68 |function| bool Ch|
|00001500| 65 63 6b 56 65 68 69 63 | 6c 65 28 42 6f 74 20 42 |eckVehic|le(Bot B|
|00001510| 29 0d 0a 7b 0d 0a 09 69 | 66 20 28 20 28 45 6e 65 |)..{...i|f ( (Ene|
|00001520| 6d 79 46 6c 61 67 2e 48 | 6f 6c 64 65 72 20 3d 3d |myFlag.H|older ==|
|00001530| 20 4e 6f 6e 65 29 20 26 | 26 20 28 56 53 69 7a 65 | None) &|& (VSize|
|00001540| 28 42 2e 50 61 77 6e 2e | 4c 6f 63 61 74 69 6f 6e |(B.Pawn.|Location|
|00001550| 20 2d 20 45 6e 65 6d 79 | 46 6c 61 67 2e 50 6f 73 | - Enemy|Flag.Pos|
|00001560| 69 74 69 6f 6e 28 29 2e | 4c 6f 63 61 74 69 6f 6e |ition().|Location|
|00001570| 29 20 3c 20 31 36 30 30 | 29 20 29 0d 0a 09 09 72 |) < 1600|) )....r|
|00001580| 65 74 75 72 6e 20 66 61 | 6c 73 65 3b 0d 0a 09 69 |eturn fa|lse;...i|
|00001590| 66 20 28 20 28 42 2e 50 | 6c 61 79 65 72 52 65 70 |f ( (B.P|layerRep|
|000015a0| 6c 69 63 61 74 69 6f 6e | 49 6e 66 6f 2e 48 61 73 |lication|Info.Has|
|000015b0| 46 6c 61 67 20 21 3d 20 | 4e 6f 6e 65 29 20 26 26 |Flag != |None) &&|
|000015c0| 20 28 56 53 69 7a 65 28 | 42 2e 50 61 77 6e 2e 4c | (VSize(|B.Pawn.L|
|000015d0| 6f 63 61 74 69 6f 6e 20 | 2d 20 46 72 69 65 6e 64 |ocation |- Friend|
|000015e0| 6c 79 46 6c 61 67 2e 48 | 6f 6d 65 42 61 73 65 2e |lyFlag.H|omeBase.|
|000015f0| 4c 6f 63 61 74 69 6f 6e | 29 20 3c 20 31 36 30 30 |Location|) < 1600|
|00001600| 29 20 29 0d 0a 09 09 72 | 65 74 75 72 6e 20 66 61 |) )....r|eturn fa|
|00001610| 6c 73 65 3b 0d 0a 0d 0a | 09 72 65 74 75 72 6e 20 |lse;....|.return |
|00001620| 53 75 70 65 72 2e 43 68 | 65 63 6b 56 65 68 69 63 |Super.Ch|eckVehic|
|00001630| 6c 65 28 42 29 3b 0d 0a | 7d 0d 0a 0d 0a 2f 2a 20 |le(B);..|}..../* |
|00001640| 4f 72 64 65 72 73 46 6f | 72 46 6c 61 67 43 61 72 |OrdersFo|rFlagCar|
|00001650| 72 69 65 72 28 29 0d 0a | 54 65 6c 6c 20 62 6f 74 |rier()..|Tell bot|
|00001660| 20 77 68 61 74 20 74 6f | 20 64 6f 20 69 66 20 68 | what to| do if h|
|00001670| 65 27 73 20 63 61 72 72 | 79 69 6e 67 20 74 68 65 |e's carr|ying the|
|00001680| 20 66 6c 61 67 0d 0a 2a | 2f 0d 0a 66 75 6e 63 74 | flag..*|/..funct|
|00001690| 69 6f 6e 20 62 6f 6f 6c | 20 4f 72 64 65 72 73 46 |ion bool| OrdersF|
|000016a0| 6f 72 46 6c 61 67 43 61 | 72 72 69 65 72 28 42 6f |orFlagCa|rrier(Bo|
|000016b0| 74 20 42 29 0d 0a 7b 0d | 0a 09 69 66 20 28 20 43 |t B)..{.|..if ( C|
|000016c0| 68 65 63 6b 56 65 68 69 | 63 6c 65 28 42 29 20 29 |heckVehi|cle(B) )|
|000016d0| 0d 0a 09 7b 0d 0a 09 09 | 42 2e 47 6f 61 6c 53 74 |...{....|B.GoalSt|
|000016e0| 72 69 6e 67 20 3d 20 22 | 47 6f 20 74 6f 20 76 65 |ring = "|Go to ve|
|000016f0| 68 69 63 6c 65 22 3b 0d | 0a 09 09 42 2e 53 65 74 |hicle";.|...B.Set|
|00001700| 41 74 74 72 61 63 74 69 | 6f 6e 53 74 61 74 65 28 |Attracti|onState(|
|00001710| 29 3b 0d 0a 09 09 72 65 | 74 75 72 6e 20 74 72 75 |);....re|turn tru|
|00001720| 65 3b 0d 0a 09 7d 0d 0a | 0d 0a 09 69 66 20 28 20 |e;...}..|...if ( |
|00001730| 42 2e 50 61 77 6e 2e 48 | 65 61 6c 74 68 20 3c 20 |B.Pawn.H|ealth < |
|00001740| 34 30 20 29 0d 0a 09 09 | 42 2e 54 72 79 43 6f 6d |40 )....|B.TryCom|
|00001750| 62 6f 28 22 78 47 61 6d | 65 2e 43 6f 6d 62 6f 44 |bo("xGam|e.ComboD|
|00001760| 65 66 65 6e 73 69 76 65 | 22 29 3b 0d 0a 09 65 6c |efensive|");...el|
|00001770| 73 65 0d 0a 09 09 42 2e | 54 72 79 43 6f 6d 62 6f |se....B.|TryCombo|
|00001780| 28 22 78 47 61 6d 65 2e | 43 6f 6d 62 6f 53 70 65 |("xGame.|ComboSpe|
|00001790| 65 64 22 29 3b 0d 0a 0d | 0a 09 2f 2f 20 70 69 63 |ed");...|..// pic|
|000017a0| 6b 75 70 20 64 72 6f 70 | 70 65 64 20 66 6c 61 67 |kup drop|ped flag|
|000017b0| 20 69 66 20 73 65 65 20 | 69 74 20 6e 65 61 72 62 | if see |it nearb|
|000017c0| 79 0d 0a 09 2f 2f 20 46 | 49 58 4d 45 20 2d 20 64 |y...// F|IXME - d|
|000017d0| 6f 6e 27 74 20 75 73 65 | 20 70 75 72 65 20 64 69 |on't use| pure di|
|000017e0| 73 74 61 6e 63 65 20 2d | 20 61 6c 73 6f 20 63 68 |stance -| also ch|
|000017f0| 65 63 6b 20 64 69 73 74 | 61 6e 63 65 20 72 65 74 |eck dist|ance ret|
|00001800| 75 72 6e 65 64 20 66 72 | 6f 6d 20 70 61 74 68 66 |urned fr|om pathf|
|00001810| 69 6e 64 69 6e 67 0d 0a | 09 69 66 20 28 20 21 46 |inding..|.if ( !F|
|00001820| 72 69 65 6e 64 6c 79 46 | 6c 61 67 2e 62 48 6f 6d |riendlyF|lag.bHom|
|00001830| 65 20 29 0d 0a 09 7b 0d | 0a 09 09 2f 2f 20 69 66 |e )...{.|...// if|
|00001840| 20 6f 6e 65 2d 6f 6e 2d | 6f 6e 65 20 63 74 66 2c | one-on-|one ctf,|
|00001850| 20 74 68 65 6e 20 67 65 | 74 20 66 6c 61 67 20 62 | then ge|t flag b|
|00001860| 61 63 6b 0d 0a 09 09 69 | 66 20 28 20 54 65 61 6d |ack....i|f ( Team|
|00001870| 2e 53 69 7a 65 20 3d 3d | 20 31 20 29 0d 0a 09 09 |.Size ==| 1 )....|
|00001880| 7b 0d 0a 09 09 09 2f 2f | 20 6d 61 6b 65 20 73 75 |{.....//| make su|
|00001890| 72 65 20 68 65 61 6c 74 | 68 65 64 2f 61 72 6d 6f |re healt|hed/armo|
|000018a0| 72 65 64 2f 61 6d 6d 6f | 65 64 20 75 70 0d 0a 09 |red/ammo|ed up...|
|000018b0| 09 09 69 66 20 28 20 42 | 2e 4e 65 65 64 57 65 61 |..if ( B|.NeedWea|
|000018c0| 70 6f 6e 28 29 20 26 26 | 20 42 2e 46 69 6e 64 49 |pon() &&| B.FindI|
|000018d0| 6e 76 65 6e 74 6f 72 79 | 47 6f 61 6c 28 30 29 20 |nventory|Goal(0) |
|000018e0| 29 0d 0a 09 09 09 7b 0d | 0a 09 09 09 09 42 2e 53 |).....{.|.....B.S|
|000018f0| 65 74 41 74 74 72 61 63 | 74 69 6f 6e 53 74 61 74 |etAttrac|tionStat|
|00001900| 65 28 29 3b 0d 0a 09 09 | 09 09 72 65 74 75 72 6e |e();....|..return|
|00001910| 20 74 72 75 65 3b 0d 0a | 09 09 09 7d 0d 0a 0d 0a | true;..|...}....|
|00001920| 09 09 09 69 66 20 28 20 | 46 72 69 65 6e 64 6c 79 |...if ( |Friendly|
|00001930| 46 6c 61 67 2e 48 6f 6c | 64 65 72 20 3d 3d 20 4e |Flag.Hol|der == N|
|00001940| 6f 6e 65 20 29 0d 0a 09 | 09 09 7b 0d 0a 09 09 09 |one )...|..{.....|
|00001950| 09 69 66 20 28 20 47 6f | 50 69 63 6b 75 70 46 6c |.if ( Go|PickupFl|
|00001960| 61 67 28 42 29 20 29 0d | 0a 09 09 09 09 09 72 65 |ag(B) ).|......re|
|00001970| 74 75 72 6e 20 74 72 75 | 65 3b 0d 0a 09 09 09 09 |turn tru|e;......|
|00001980| 72 65 74 75 72 6e 20 66 | 61 6c 73 65 3b 0d 0a 09 |return f|alse;...|
|00001990| 09 09 7d 0d 0a 09 09 09 | 65 6c 73 65 0d 0a 09 09 |..}.....|else....|
|000019a0| 09 7b 0d 0a 09 09 09 09 | 69 66 20 28 20 28 42 2e |.{......|if ( (B.|
|000019b0| 45 6e 65 6d 79 20 21 3d | 20 4e 6f 6e 65 29 20 26 |Enemy !=| None) &|
|000019c0| 26 20 28 42 2e 45 6e 65 | 6d 79 2e 50 6c 61 79 65 |& (B.Ene|my.Playe|
|000019d0| 72 52 65 70 6c 69 63 61 | 74 69 6f 6e 49 6e 66 6f |rReplica|tionInfo|
|000019e0| 20 21 3d 20 4e 6f 6e 65 | 29 20 26 26 20 28 42 2e | != None|) && (B.|
|000019f0| 45 6e 65 6d 79 2e 50 6c | 61 79 65 72 52 65 70 6c |Enemy.Pl|ayerRepl|
|00001a00| 69 63 61 74 69 6f 6e 49 | 6e 66 6f 2e 48 61 73 46 |icationI|nfo.HasF|
|00001a10| 6c 61 67 20 21 3d 20 46 | 72 69 65 6e 64 6c 79 46 |lag != F|riendlyF|
|00001a20| 6c 61 67 29 20 29 0d 0a | 09 09 09 09 09 46 69 6e |lag) )..|.....Fin|
|00001a30| 64 4e 65 77 45 6e 65 6d | 79 46 6f 72 28 42 2c 28 |dNewEnem|yFor(B,(|
|00001a40| 42 2e 45 6e 65 6d 79 20 | 21 3d 20 4e 6f 6e 65 29 |B.Enemy |!= None)|
|00001a50| 20 26 26 20 42 2e 4c 69 | 6e 65 4f 66 53 69 67 68 | && B.Li|neOfSigh|
|00001a60| 74 54 6f 28 42 2e 45 6e | 65 6d 79 29 29 3b 0d 0a |tTo(B.En|emy));..|
|00001a70| 09 09 09 09 69 66 20 28 | 20 4c 65 76 65 6c 2e 54 |....if (| Level.T|
|00001a80| 69 6d 65 53 65 63 6f 6e | 64 73 20 2d 20 4c 61 73 |imeSecon|ds - Las|
|00001a90| 74 53 65 65 46 6c 61 67 | 43 61 72 72 69 65 72 20 |tSeeFlag|Carrier |
|00001aa0| 3e 20 36 20 29 0d 0a 09 | 09 09 09 09 4c 61 73 74 |> 6 )...|....Last|
|00001ab0| 53 65 65 46 6c 61 67 43 | 61 72 72 69 65 72 20 3d |SeeFlagC|arrier =|
|00001ac0| 20 4c 65 76 65 6c 2e 54 | 69 6d 65 53 65 63 6f 6e | Level.T|imeSecon|
|00001ad0| 64 73 3b 0d 0a 09 09 09 | 09 42 2e 47 6f 61 6c 53 |ds;.....|.B.GoalS|
|00001ae0| 74 72 69 6e 67 20 3d 20 | 22 41 74 74 61 63 6b 20 |tring = |"Attack |
|00001af0| 65 6e 65 6d 79 20 66 6c | 61 67 20 63 61 72 72 69 |enemy fl|ag carri|
|00001b00| 65 72 22 3b 0d 0a 09 09 | 09 09 69 66 20 28 20 42 |er";....|..if ( B|
|00001b10| 2e 49 73 53 6e 69 70 69 | 6e 67 28 29 20 29 0d 0a |.IsSnipi|ng() )..|
|00001b20| 09 09 09 09 09 72 65 74 | 75 72 6e 20 66 61 6c 73 |.....ret|urn fals|
|00001b30| 65 3b 0d 0a 09 09 09 09 | 42 2e 62 50 75 72 73 75 |e;......|B.bPursu|
|00001b40| 69 6e 67 46 6c 61 67 20 | 3d 20 74 72 75 65 3b 0d |ingFlag |= true;.|
|00001b50| 0a 09 09 09 09 72 65 74 | 75 72 6e 20 28 20 54 72 |.....ret|urn ( Tr|
|00001b60| 79 54 6f 49 6e 74 65 72 | 63 65 70 74 28 42 2c 46 |yToInter|cept(B,F|
|00001b70| 72 69 65 6e 64 6c 79 46 | 6c 61 67 2e 48 6f 6c 64 |riendlyF|lag.Hold|
|00001b80| 65 72 2c 45 6e 65 6d 79 | 46 6c 61 67 2e 48 6f 6d |er,Enemy|Flag.Hom|
|00001b90| 65 62 61 73 65 29 20 29 | 3b 0d 0a 09 09 09 7d 0d |ebase) )|;.....}.|
|00001ba0| 0a 09 09 7d 0d 0a 09 09 | 2f 2f 20 6f 74 68 65 72 |...}....|// other|
|00001bb0| 77 69 73 65 2c 20 6f 6e | 6c 79 20 67 65 74 20 69 |wise, on|ly get i|
|00001bc0| 66 20 63 6f 6e 76 65 6e | 69 65 6e 74 0d 0a 09 09 |f conven|ient....|
|00001bd0| 69 66 20 28 20 28 46 72 | 69 65 6e 64 6c 79 46 6c |if ( (Fr|iendlyFl|
|00001be0| 61 67 2e 48 6f 6c 64 65 | 72 20 3d 3d 20 4e 6f 6e |ag.Holde|r == Non|
|00001bf0| 65 29 20 26 26 20 42 2e | 4c 69 6e 65 4f 66 53 69 |e) && B.|LineOfSi|
|00001c00| 67 68 74 54 6f 28 46 72 | 69 65 6e 64 6c 79 46 6c |ghtTo(Fr|iendlyFl|
|00001c10| 61 67 2e 50 6f 73 69 74 | 69 6f 6e 28 29 29 0d 0a |ag.Posit|ion())..|
|00001c20| 09 09 09 26 26 20 28 56 | 53 69 7a 65 28 42 2e 50 |...&& (V|Size(B.P|
|00001c30| 61 77 6e 2e 4c 6f 63 61 | 74 69 6f 6e 20 2d 20 46 |awn.Loca|tion - F|
|00001c40| 72 69 65 6e 64 6c 79 46 | 6c 61 67 2e 4c 6f 63 61 |riendlyF|lag.Loca|
|00001c50| 74 69 6f 6e 29 20 3c 20 | 31 35 30 30 2e 66 29 0d |tion) < |1500.f).|
|00001c60| 0a 09 09 09 26 26 20 47 | 6f 50 69 63 6b 75 70 46 |....&& G|oPickupF|
|00001c70| 6c 61 67 28 42 29 20 29 | 0d 0a 09 09 09 72 65 74 |lag(B) )|.....ret|
|00001c80| 75 72 6e 20 74 72 75 65 | 3b 0d 0a 0d 0a 09 09 2f |urn true|;....../|
|00001c90| 2f 20 6f 74 68 65 72 77 | 69 73 65 2c 20 67 6f 20 |/ otherw|ise, go |
|00001ca0| 68 69 64 65 0d 0a 09 09 | 69 66 20 28 20 48 69 64 |hide....|if ( Hid|
|00001cb0| 65 50 61 74 68 20 21 3d | 20 4e 6f 6e 65 20 29 0d |ePath !=| None ).|
|00001cc0| 0a 09 09 7b 0d 0a 09 09 | 09 69 66 20 28 20 42 2e |...{....|.if ( B.|
|00001cd0| 50 61 77 6e 2e 52 65 61 | 63 68 65 64 44 65 73 74 |Pawn.Rea|chedDest|
|00001ce0| 69 6e 61 74 69 6f 6e 28 | 48 69 64 65 50 61 74 68 |ination(|HidePath|
|00001cf0| 29 20 29 0d 0a 09 09 09 | 7b 0d 0a 09 09 09 09 69 |) ).....|{......i|
|00001d00| 66 20 28 20 28 28 42 2e | 45 6e 65 6d 79 20 3d 3d |f ( ((B.|Enemy ==|
|00001d10| 20 4e 6f 6e 65 29 20 7c | 7c 20 28 4c 65 76 65 6c | None) ||| (Level|
|00001d20| 2e 54 69 6d 65 53 65 63 | 6f 6e 64 73 20 2d 20 42 |.TimeSec|onds - B|
|00001d30| 2e 4c 61 73 74 53 65 65 | 6e 54 69 6d 65 20 3e 20 |.LastSee|nTime > |
|00001d40| 37 29 29 20 26 26 20 28 | 46 52 61 6e 64 28 29 20 |7)) && (|FRand() |
|00001d50| 3c 20 30 2e 37 29 20 29 | 0d 0a 09 09 09 09 7b 0d |< 0.7) )|......{.|
|00001d60| 0a 09 09 09 09 09 48 69 | 64 65 50 61 74 68 20 3d |......Hi|dePath =|
|00001d70| 20 4e 6f 6e 65 3b 0d 0a | 09 09 09 09 09 69 66 20 | None;..|.....if |
|00001d80| 28 20 42 2e 45 6e 65 6d | 79 20 3d 3d 20 4e 6f 6e |( B.Enem|y == Non|
|00001d90| 65 20 29 0d 0a 09 09 09 | 09 09 09 42 2e 57 61 6e |e ).....|...B.Wan|
|00001da0| 64 65 72 4f 72 43 61 6d | 70 28 74 72 75 65 29 3b |derOrCam|p(true);|
|00001db0| 0d 0a 09 09 09 09 09 65 | 6c 73 65 0d 0a 09 09 09 |.......e|lse.....|
|00001dc0| 09 09 09 42 2e 44 6f 53 | 74 61 6b 65 4f 75 74 28 |...B.DoS|takeOut(|
|00001dd0| 29 3b 0d 0a 09 09 09 09 | 09 72 65 74 75 72 6e 20 |);......|.return |
|00001de0| 74 72 75 65 3b 0d 0a 09 | 09 09 09 7d 0d 0a 09 09 |true;...|...}....|
|00001df0| 09 7d 0d 0a 09 09 09 65 | 6c 73 65 20 69 66 20 28 |.}.....e|lse if (|
|00001e00| 20 42 2e 53 65 74 52 6f | 75 74 65 54 6f 47 6f 61 | B.SetRo|uteToGoa|
|00001e10| 6c 28 48 69 64 65 50 61 | 74 68 29 20 29 0d 0a 09 |l(HidePa|th) )...|
|00001e20| 09 09 09 72 65 74 75 72 | 6e 20 74 72 75 65 3b 0d |...retur|n true;.|
|00001e30| 0a 09 09 7d 0d 0a 09 7d | 0d 0a 09 65 6c 73 65 20 |...}...}|...else |
|00001e40| 0d 0a 09 09 42 2e 62 50 | 75 72 73 75 69 6e 67 46 |....B.bP|ursuingF|
|00001e50| 6c 61 67 20 3d 20 66 61 | 6c 73 65 3b 0d 0a 09 48 |lag = fa|lse;...H|
|00001e60| 69 64 65 50 61 74 68 20 | 3d 20 4e 6f 6e 65 3b 0d |idePath |= None;.|
|00001e70| 0a 0d 0a 09 2f 2f 20 73 | 75 70 65 72 20 70 69 63 |....// s|uper pic|
|00001e80| 6b 75 70 73 20 69 66 20 | 6e 65 61 72 62 79 0d 0a |kups if |nearby..|
|00001e90| 09 2f 2f 20 73 65 65 20 | 69 66 20 73 68 6f 75 6c |.// see |if shoul|
|00001ea0| 64 20 67 65 74 20 73 75 | 70 65 72 77 65 61 70 6f |d get su|perweapo|
|00001eb0| 6e 2f 20 70 69 63 6b 75 | 70 0d 0a 09 69 66 20 28 |n/ picku|p...if (|
|00001ec0| 20 28 42 2e 53 6b 69 6c | 6c 20 3e 20 32 29 20 26 | (B.Skil|l > 2) &|
|00001ed0| 26 20 28 56 65 68 69 63 | 6c 65 28 42 2e 50 61 77 |& (Vehic|le(B.Paw|
|00001ee0| 6e 29 20 3d 3d 20 4e 6f | 6e 65 29 20 29 0d 0a 09 |n) == No|ne) )...|
|00001ef0| 7b 0d 0a 09 09 69 66 20 | 28 20 28 21 46 72 69 65 |{....if |( (!Frie|
|00001f00| 6e 64 6c 79 46 6c 61 67 | 2e 62 48 6f 6d 65 20 7c |ndlyFlag|.bHome ||
|00001f10| 7c 20 28 56 53 69 7a 65 | 28 46 72 69 65 6e 64 6c || (VSize|(Friendl|
|00001f20| 79 46 6c 61 67 2e 48 6f | 6d 65 42 61 73 65 2e 4c |yFlag.Ho|meBase.L|
|00001f30| 6f 63 61 74 69 6f 6e 20 | 2d 20 42 2e 50 61 77 6e |ocation |- B.Pawn|
|00001f40| 2e 4c 6f 63 61 74 69 6f | 6e 29 20 3e 20 32 30 30 |.Locatio|n) > 200|
|00001f50| 30 29 29 0d 0a 09 09 09 | 09 26 26 20 54 65 61 6d |0)).....|.&& Team|
|00001f60| 2e 41 49 2e 53 75 70 65 | 72 50 69 63 6b 75 70 41 |.AI.Supe|rPickupA|
|00001f70| 76 61 69 6c 61 62 6c 65 | 28 42 29 0d 0a 09 09 09 |vailable|(B).....|
|00001f80| 09 26 26 20 28 42 2e 50 | 61 77 6e 2e 41 6e 63 68 |.&& (B.P|awn.Anch|
|00001f90| 6f 72 20 21 3d 20 4e 6f | 6e 65 29 20 26 26 20 42 |or != No|ne) && B|
|00001fa0| 2e 50 61 77 6e 2e 52 65 | 61 63 68 65 64 44 65 73 |.Pawn.Re|achedDes|
|00001fb0| 74 69 6e 61 74 69 6f 6e | 28 42 2e 50 61 77 6e 2e |tination|(B.Pawn.|
|00001fc0| 41 6e 63 68 6f 72 29 0d | 0a 09 09 09 09 26 26 20 |Anchor).|.....&& |
|00001fd0| 42 2e 46 69 6e 64 53 75 | 70 65 72 50 69 63 6b 75 |B.FindSu|perPicku|
|00001fe0| 70 28 38 30 30 29 20 29 | 0d 0a 09 09 7b 0d 0a 09 |p(800) )|....{...|
|00001ff0| 09 09 42 2e 47 6f 61 6c | 53 74 72 69 6e 67 20 3d |..B.Goal|String =|
|00002000| 20 22 47 65 74 20 73 75 | 70 65 72 20 70 69 63 6b | "Get su|per pick|
|00002010| 75 70 22 3b 0d 0a 09 09 | 09 42 2e 53 65 74 41 74 |up";....|.B.SetAt|
|00002020| 74 72 61 63 74 69 6f 6e | 53 74 61 74 65 28 29 3b |traction|State();|
|00002030| 0d 0a 09 09 09 72 65 74 | 75 72 6e 20 74 72 75 65 |.....ret|urn true|
|00002040| 3b 0d 0a 09 09 7d 0d 0a | 09 7d 0d 0a 0d 0a 09 69 |;....}..|.}.....i|
|00002050| 66 20 28 20 28 42 2e 45 | 6e 65 6d 79 20 21 3d 20 |f ( (B.E|nemy != |
|00002060| 4e 6f 6e 65 29 20 26 26 | 20 28 42 2e 50 61 77 6e |None) &&| (B.Pawn|
|00002070| 2e 48 65 61 6c 74 68 20 | 3c 20 36 30 20 29 29 0d |.Health |< 60 )).|
|00002080| 0a 09 09 42 2e 53 65 6e | 64 4d 65 73 73 61 67 65 |...B.Sen|dMessage|
|00002090| 28 4e 6f 6e 65 2c 20 27 | 4f 54 48 45 52 27 2c 20 |(None, '|OTHER', |
|000020a0| 42 2e 47 65 74 4d 65 73 | 73 61 67 65 49 6e 64 65 |B.GetMes|sageInde|
|000020b0| 78 28 27 4e 45 45 44 42 | 41 43 4b 55 50 27 29 2c |x('NEEDB|ACKUP'),|
|000020c0| 20 32 35 2c 20 27 54 45 | 41 4d 27 29 3b 0d 0a 09 | 25, 'TE|AM');...|
|000020d0| 42 2e 47 6f 61 6c 53 74 | 72 69 6e 67 20 3d 20 22 |B.GoalSt|ring = "|
|000020e0| 52 65 74 75 72 6e 20 74 | 6f 20 42 61 73 65 20 77 |Return t|o Base w|
|000020f0| 69 74 68 20 65 6e 65 6d | 79 20 66 6c 61 67 21 22 |ith enem|y flag!"|
|00002100| 3b 0d 0a 09 69 66 20 28 | 20 21 46 69 6e 64 50 61 |;...if (| !FindPa|
|00002110| 74 68 54 6f 4f 62 6a 65 | 63 74 69 76 65 28 42 2c |thToObje|ctive(B,|
|00002120| 46 72 69 65 6e 64 6c 79 | 46 6c 61 67 2e 48 6f 6d |Friendly|Flag.Hom|
|00002130| 65 42 61 73 65 29 20 29 | 0d 0a 09 7b 0d 0a 09 09 |eBase) )|...{....|
|00002140| 42 2e 47 6f 61 6c 53 74 | 72 69 6e 67 20 3d 20 22 |B.GoalSt|ring = "|
|00002150| 4e 6f 20 70 61 74 68 20 | 74 6f 20 68 6f 6d 65 20 |No path |to home |
|00002160| 62 61 73 65 20 66 6f 72 | 20 66 6c 61 67 20 63 61 |base for| flag ca|
|00002170| 72 72 69 65 72 22 3b 0d | 0a 09 09 2f 2f 20 46 49 |rrier";.|...// FI|
|00002180| 58 4d 45 20 2d 20 73 75 | 69 63 69 64 65 20 61 66 |XME - su|icide af|
|00002190| 74 65 72 20 61 20 77 68 | 69 6c 65 0d 0a 09 09 72 |ter a wh|ile....r|
|000021a0| 65 74 75 72 6e 20 66 61 | 6c 73 65 3b 0d 0a 09 7d |eturn fa|lse;...}|
|000021b0| 0d 0a 09 69 66 20 28 20 | 42 2e 4d 6f 76 65 54 61 |...if ( |B.MoveTa|
|000021c0| 72 67 65 74 20 3d 3d 20 | 46 72 69 65 6e 64 6c 79 |rget == |Friendly|
|000021d0| 46 6c 61 67 2e 48 6f 6d | 65 42 61 73 65 20 29 0d |Flag.Hom|eBase ).|
|000021e0| 0a 09 7b 0d 0a 09 09 42 | 2e 47 6f 61 6c 53 74 72 |..{....B|.GoalStr|
|000021f0| 69 6e 67 20 3d 20 22 4e | 65 61 72 20 6d 79 20 42 |ing = "N|ear my B|
|00002200| 61 73 65 20 77 69 74 68 | 20 65 6e 65 6d 79 20 66 |ase with| enemy f|
|00002210| 6c 61 67 21 22 3b 0d 0a | 09 09 69 66 20 28 20 21 |lag!";..|..if ( !|
|00002220| 46 72 69 65 6e 64 6c 79 | 46 6c 61 67 2e 62 48 6f |Friendly|Flag.bHo|
|00002230| 6d 65 20 29 0d 0a 09 09 | 7b 0d 0a 09 09 09 42 2e |me )....|{.....B.|
|00002240| 53 65 6e 64 4d 65 73 73 | 61 67 65 28 4e 6f 6e 65 |SendMess|age(None|
|00002250| 2c 20 27 4f 54 48 45 52 | 27 2c 20 42 2e 47 65 74 |, 'OTHER|', B.Get|
|00002260| 4d 65 73 73 61 67 65 49 | 6e 64 65 78 28 27 4e 45 |MessageI|ndex('NE|
|00002270| 45 44 4f 55 52 46 4c 41 | 47 27 29 2c 20 32 35 2c |EDOURFLA|G'), 25,|
|00002280| 20 27 54 45 41 4d 27 29 | 3b 0d 0a 09 09 09 42 2e | 'TEAM')|;.....B.|
|00002290| 47 6f 61 6c 53 74 72 69 | 6e 67 20 3d 20 22 4e 45 |GoalStri|ng = "NE|
|000022a0| 45 44 20 4f 55 52 20 46 | 4c 41 47 20 42 41 43 4b |ED OUR F|LAG BACK|
|000022b0| 21 22 3b 0d 0a 09 09 09 | 69 66 20 28 20 42 2e 53 |!";.....|if ( B.S|
|000022c0| 6b 69 6c 6c 20 3e 20 31 | 20 29 0d 0a 09 09 09 09 |kill > 1| )......|
|000022d0| 48 69 64 65 50 61 74 68 | 20 3d 20 46 69 6e 64 48 |HidePath| = FindH|
|000022e0| 69 64 65 50 61 74 68 46 | 6f 72 28 42 29 3b 0d 0a |idePathF|or(B);..|
|000022f0| 09 09 09 69 66 20 28 20 | 28 48 69 64 65 50 61 74 |...if ( |(HidePat|
|00002300| 68 20 21 3d 20 4e 6f 6e | 65 29 20 26 26 20 42 2e |h != Non|e) && B.|
|00002310| 53 65 74 52 6f 75 74 65 | 54 6f 47 6f 61 6c 28 48 |SetRoute|ToGoal(H|
|00002320| 69 64 65 50 61 74 68 29 | 20 29 0d 0a 09 09 09 09 |idePath)| )......|
|00002330| 72 65 74 75 72 6e 20 74 | 72 75 65 3b 0d 0a 09 09 |return t|rue;....|
|00002340| 09 72 65 74 75 72 6e 20 | 66 61 6c 73 65 3b 0d 0a |.return |false;..|
|00002350| 09 09 7d 0d 0a 09 09 69 | 66 20 28 20 56 53 69 7a |..}....i|f ( VSiz|
|00002360| 65 28 42 2e 50 61 77 6e | 2e 4c 6f 63 61 74 69 6f |e(B.Pawn|.Locatio|
|00002370| 6e 20 2d 20 46 72 69 65 | 6e 64 6c 79 46 6c 61 67 |n - Frie|ndlyFlag|
|00002380| 2e 4c 6f 63 61 74 69 6f | 6e 29 20 3c 20 46 72 69 |.Locatio|n) < Fri|
|00002390| 65 6e 64 6c 79 46 6c 61 | 67 2e 48 6f 6d 65 42 61 |endlyFla|g.HomeBa|
|000023a0| 73 65 2e 43 6f 6c 6c 69 | 73 69 6f 6e 52 61 64 69 |se.Colli|sionRadi|
|000023b0| 75 73 20 29 0d 0a 09 09 | 09 46 72 69 65 6e 64 6c |us )....|.Friendl|
|000023c0| 79 46 6c 61 67 2e 54 6f | 75 63 68 28 42 2e 50 61 |yFlag.To|uch(B.Pa|
|000023d0| 77 6e 29 3b 0d 0a 09 7d | 0d 0a 09 72 65 74 75 72 |wn);...}|...retur|
|000023e0| 6e 20 74 72 75 65 3b 0d | 0a 7d 0d 0a 0d 0a 66 75 |n true;.|.}....fu|
|000023f0| 6e 63 74 69 6f 6e 20 62 | 6f 6f 6c 20 4d 75 73 74 |nction b|ool Must|
|00002400| 4b 65 65 70 45 6e 65 6d | 79 28 50 61 77 6e 20 45 |KeepEnem|y(Pawn E|
|00002410| 29 0d 0a 7b 0d 0a 09 69 | 66 20 28 20 28 45 20 21 |)..{...i|f ( (E !|
|00002420| 3d 20 4e 6f 6e 65 29 20 | 26 26 20 28 45 2e 50 6c |= None) |&& (E.Pl|
|00002430| 61 79 65 72 52 65 70 6c | 69 63 61 74 69 6f 6e 49 |ayerRepl|icationI|
|00002440| 6e 66 6f 20 21 3d 20 4e | 6f 6e 65 29 20 26 26 20 |nfo != N|one) && |
|00002450| 28 45 2e 50 6c 61 79 65 | 72 52 65 70 6c 69 63 61 |(E.Playe|rReplica|
|00002460| 74 69 6f 6e 49 6e 66 6f | 2e 48 61 73 46 6c 61 67 |tionInfo|.HasFlag|
|00002470| 20 3d 3d 20 46 72 69 65 | 6e 64 6c 79 46 6c 61 67 | == Frie|ndlyFlag|
|00002480| 29 20 26 26 20 28 45 2e | 48 65 61 6c 74 68 20 3e |) && (E.|Health >|
|00002490| 20 30 29 20 29 0d 0a 09 | 09 72 65 74 75 72 6e 20 | 0) )...|.return |
|000024a0| 74 72 75 65 3b 0d 0a 09 | 72 65 74 75 72 6e 20 66 |true;...|return f|
|000024b0| 61 6c 73 65 3b 0d 0a 7d | 0d 0a 0d 0a 66 75 6e 63 |alse;..}|....func|
|000024c0| 74 69 6f 6e 20 62 6f 6f | 6c 20 4e 65 61 72 45 6e |tion boo|l NearEn|
|000024d0| 65 6d 79 42 61 73 65 28 | 42 6f 74 20 42 29 0d 0a |emyBase(|Bot B)..|
|000024e0| 7b 0d 0a 09 69 66 20 28 | 20 28 42 2e 50 61 77 6e |{...if (| (B.Pawn|
|000024f0| 2e 52 65 67 69 6f 6e 2e | 5a 6f 6e 65 20 3d 3d 20 |.Region.|Zone == |
|00002500| 45 6e 65 6d 79 46 6c 61 | 67 2e 48 6f 6d 65 42 61 |EnemyFla|g.HomeBa|
|00002510| 73 65 2e 52 65 67 69 6f | 6e 2e 5a 6f 6e 65 29 0d |se.Regio|n.Zone).|
|00002520| 0a 09 09 26 26 20 28 42 | 2e 50 61 77 6e 2e 52 65 |...&& (B|.Pawn.Re|
|00002530| 67 69 6f 6e 2e 5a 6f 6e | 65 20 21 3d 20 46 72 69 |gion.Zon|e != Fri|
|00002540| 65 6e 64 6c 79 46 6c 61 | 67 2e 48 6f 6d 65 42 61 |endlyFla|g.HomeBa|
|00002550| 73 65 2e 52 65 67 69 6f | 6e 2e 5a 6f 6e 65 29 0d |se.Regio|n.Zone).|
|00002560| 0a 09 09 26 26 20 28 46 | 72 69 65 6e 64 6c 79 46 |...&& (F|riendlyF|
|00002570| 6c 61 67 2e 62 48 6f 6d | 65 20 7c 7c 20 28 42 2e |lag.bHom|e || (B.|
|00002580| 50 61 77 6e 2e 52 65 67 | 69 6f 6e 2e 5a 6f 6e 65 |Pawn.Reg|ion.Zone|
|00002590| 20 21 3d 20 46 72 69 65 | 6e 64 6c 79 46 6c 61 67 | != Frie|ndlyFlag|
|000025a0| 2e 50 6f 73 69 74 69 6f | 6e 28 29 2e 52 65 67 69 |.Positio|n().Regi|
|000025b0| 6f 6e 2e 5a 6f 6e 65 29 | 29 20 29 0d 0a 09 09 72 |on.Zone)|) )....r|
|000025c0| 65 74 75 72 6e 20 74 72 | 75 65 3b 0d 0a 0d 0a 09 |eturn tr|ue;.....|
|000025d0| 72 65 74 75 72 6e 20 45 | 6e 65 6d 79 46 6c 61 67 |return E|nemyFlag|
|000025e0| 2e 48 6f 6d 65 62 61 73 | 65 2e 42 6f 74 4e 65 61 |.Homebas|e.BotNea|
|000025f0| 72 4f 62 6a 65 63 74 69 | 76 65 28 42 29 3b 0d 0a |rObjecti|ve(B);..|
|00002600| 7d 0d 0a 0d 0a 66 75 6e | 63 74 69 6f 6e 20 62 6f |}....fun|ction bo|
|00002610| 6f 6c 20 4e 65 61 72 48 | 6f 6d 65 42 61 73 65 28 |ol NearH|omeBase(|
|00002620| 42 6f 74 20 42 29 0d 0a | 7b 0d 0a 09 69 66 20 28 |Bot B)..|{...if (|
|00002630| 20 28 42 2e 50 61 77 6e | 2e 52 65 67 69 6f 6e 2e | (B.Pawn|.Region.|
|00002640| 5a 6f 6e 65 20 3d 3d 20 | 46 72 69 65 6e 64 6c 79 |Zone == |Friendly|
|00002650| 46 6c 61 67 2e 48 6f 6d | 65 42 61 73 65 2e 52 65 |Flag.Hom|eBase.Re|
|00002660| 67 69 6f 6e 2e 5a 6f 6e | 65 29 0d 0a 09 09 26 26 |gion.Zon|e)....&&|
|00002670| 20 28 42 2e 50 61 77 6e | 2e 52 65 67 69 6f 6e 2e | (B.Pawn|.Region.|
|00002680| 5a 6f 6e 65 20 21 3d 20 | 45 6e 65 6d 79 46 6c 61 |Zone != |EnemyFla|
|00002690| 67 2e 48 6f 6d 65 42 61 | 73 65 2e 52 65 67 69 6f |g.HomeBa|se.Regio|
|000026a0| 6e 2e 5a 6f 6e 65 29 20 | 29 0d 0a 09 09 72 65 74 |n.Zone) |)....ret|
|000026b0| 75 72 6e 20 74 72 75 65 | 3b 0d 0a 0d 0a 09 69 66 |urn true|;.....if|
|000026c0| 20 28 20 21 46 72 69 65 | 6e 64 6c 79 46 6c 61 67 | ( !Frie|ndlyFlag|
|000026d0| 2e 62 48 6f 6d 65 0d 0a | 09 09 26 26 20 28 42 2e |.bHome..|..&& (B.|
|000026e0| 50 61 77 6e 2e 52 65 67 | 69 6f 6e 2e 5a 6f 6e 65 |Pawn.Reg|ion.Zone|
|000026f0| 20 3d 3d 20 46 72 69 65 | 6e 64 6c 79 46 6c 61 67 | == Frie|ndlyFlag|
|00002700| 2e 50 6f 73 69 74 69 6f | 6e 28 29 2e 52 65 67 69 |.Positio|n().Regi|
|00002710| 6f 6e 2e 5a 6f 6e 65 29 | 0d 0a 09 09 26 26 20 28 |on.Zone)|....&& (|
|00002720| 46 72 69 65 6e 64 6c 79 | 46 6c 61 67 2e 48 6f 6d |Friendly|Flag.Hom|
|00002730| 65 42 61 73 65 2e 52 65 | 67 69 6f 6e 2e 5a 6f 6e |eBase.Re|gion.Zon|
|00002740| 65 20 21 3d 20 45 6e 65 | 6d 79 46 6c 61 67 2e 48 |e != Ene|myFlag.H|
|00002750| 6f 6d 65 42 61 73 65 2e | 52 65 67 69 6f 6e 2e 5a |omeBase.|Region.Z|
|00002760| 6f 6e 65 29 20 29 0d 0a | 09 09 72 65 74 75 72 6e |one) )..|..return|
|00002770| 20 74 72 75 65 3b 0d 0a | 0d 0a 09 72 65 74 75 72 | true;..|...retur|
|00002780| 6e 20 46 72 69 65 6e 64 | 6c 79 46 6c 61 67 2e 48 |n Friend|lyFlag.H|
|00002790| 6f 6d 65 62 61 73 65 2e | 42 6f 74 4e 65 61 72 4f |omebase.|BotNearO|
|000027a0| 62 6a 65 63 74 69 76 65 | 28 42 29 3b 0d 0a 7d 0d |bjective|(B);..}.|
|000027b0| 0a 0d 0a 66 75 6e 63 74 | 69 6f 6e 20 62 6f 6f 6c |...funct|ion bool|
|000027c0| 20 46 6c 61 67 4e 65 61 | 72 42 61 73 65 28 29 0d | FlagNea|rBase().|
|000027d0| 0a 7b 0d 0a 09 69 66 20 | 28 20 4c 65 76 65 6c 2e |.{...if |( Level.|
|000027e0| 54 69 6d 65 53 65 63 6f | 6e 64 73 20 2d 20 46 72 |TimeSeco|nds - Fr|
|000027f0| 69 65 6e 64 6c 79 46 6c | 61 67 2e 54 61 6b 65 6e |iendlyFl|ag.Taken|
|00002800| 54 69 6d 65 20 3c 20 46 | 72 69 65 6e 64 6c 79 46 |Time < F|riendlyF|
|00002810| 6c 61 67 2e 48 6f 6d 65 | 42 61 73 65 2e 42 61 73 |lag.Home|Base.Bas|
|00002820| 65 45 78 69 74 54 69 6d | 65 20 29 0d 0a 09 09 72 |eExitTim|e )....r|
|00002830| 65 74 75 72 6e 20 74 72 | 75 65 3b 0d 0a 0d 0a 09 |eturn tr|ue;.....|
|00002840| 69 66 20 28 20 28 46 72 | 69 65 6e 64 6c 79 46 6c |if ( (Fr|iendlyFl|
|00002850| 61 67 2e 50 6f 73 69 74 | 69 6f 6e 28 29 2e 52 65 |ag.Posit|ion().Re|
|00002860| 67 69 6f 6e 2e 5a 6f 6e | 65 20 3d 3d 20 46 72 69 |gion.Zon|e == Fri|
|00002870| 65 6e 64 6c 79 46 6c 61 | 67 2e 48 6f 6d 65 42 61 |endlyFla|g.HomeBa|
|00002880| 73 65 2e 52 65 67 69 6f | 6e 2e 5a 6f 6e 65 29 0d |se.Regio|n.Zone).|
|00002890| 0a 09 09 26 26 20 28 46 | 72 69 65 6e 64 6c 79 46 |...&& (F|riendlyF|
|000028a0| 6c 61 67 2e 48 6f 6d 65 | 42 61 73 65 2e 52 65 67 |lag.Home|Base.Reg|
|000028b0| 69 6f 6e 2e 5a 6f 6e 65 | 20 21 3d 20 45 6e 65 6d |ion.Zone| != Enem|
|000028c0| 79 46 6c 61 67 2e 48 6f | 6d 65 42 61 73 65 2e 52 |yFlag.Ho|meBase.R|
|000028d0| 65 67 69 6f 6e 2e 5a 6f | 6e 65 29 20 29 0d 0a 09 |egion.Zo|ne) )...|
|000028e0| 09 72 65 74 75 72 6e 20 | 74 72 75 65 3b 0d 0a 0d |.return |true;...|
|000028f0| 0a 09 72 65 74 75 72 6e | 20 28 20 56 53 69 7a 65 |..return| ( VSize|
|00002900| 28 46 72 69 65 6e 64 6c | 79 46 6c 61 67 2e 50 6f |(Friendl|yFlag.Po|
|00002910| 73 69 74 69 6f 6e 28 29 | 2e 4c 6f 63 61 74 69 6f |sition()|.Locatio|
|00002920| 6e 20 2d 20 46 72 69 65 | 6e 64 6c 79 46 6c 61 67 |n - Frie|ndlyFlag|
|00002930| 2e 48 6f 6d 65 42 61 73 | 65 2e 4c 6f 63 61 74 69 |.HomeBas|e.Locati|
|00002940| 6f 6e 29 20 3c 20 46 72 | 69 65 6e 64 6c 79 46 6c |on) < Fr|iendlyFl|
|00002950| 61 67 2e 48 6f 6d 65 42 | 61 73 65 2e 42 61 73 65 |ag.HomeB|ase.Base|
|00002960| 52 61 64 69 75 73 20 29 | 3b 0d 0a 7d 0d 0a 0d 0a |Radius )|;..}....|
|00002970| 66 75 6e 63 74 69 6f 6e | 20 62 6f 6f 6c 20 4f 76 |function| bool Ov|
|00002980| 65 72 72 69 64 65 46 6f | 6c 6c 6f 77 50 6c 61 79 |errideFo|llowPlay|
|00002990| 65 72 28 42 6f 74 20 42 | 29 0d 0a 7b 0d 0a 09 69 |er(Bot B|)..{...i|
|000029a0| 66 20 28 20 21 45 6e 65 | 6d 79 46 6c 61 67 2e 62 |f ( !Ene|myFlag.b|
|000029b0| 48 6f 6d 65 20 29 0d 0a | 09 09 72 65 74 75 72 6e |Home )..|..return|
|000029c0| 20 66 61 6c 73 65 3b 0d | 0a 09 09 0d 0a 09 69 66 | false;.|......if|
|000029d0| 20 28 20 45 6e 65 6d 79 | 46 6c 61 67 2e 48 6f 6d | ( Enemy|Flag.Hom|
|000029e0| 65 42 61 73 65 2e 42 6f | 74 4e 65 61 72 4f 62 6a |eBase.Bo|tNearObj|
|000029f0| 65 63 74 69 76 65 28 42 | 29 20 29 0d 0a 09 09 72 |ective(B|) )....r|
|00002a00| 65 74 75 72 6e 20 45 6e | 65 6d 79 46 6c 61 67 2e |eturn En|emyFlag.|
|00002a10| 48 6f 6d 65 42 61 73 65 | 2e 54 65 6c 6c 42 6f 74 |HomeBase|.TellBot|
|00002a20| 48 6f 77 54 6f 44 69 73 | 61 62 6c 65 28 42 29 3b |HowToDis|able(B);|
|00002a30| 0d 0a 09 72 65 74 75 72 | 6e 20 66 61 6c 73 65 3b |...retur|n false;|
|00002a40| 0d 0a 7d 0d 0a 0d 0a 66 | 75 6e 63 74 69 6f 6e 20 |..}....f|unction |
|00002a50| 62 6f 6f 6c 20 43 68 65 | 63 6b 53 71 75 61 64 4f |bool Che|ckSquadO|
|00002a60| 62 6a 65 63 74 69 76 65 | 73 28 42 6f 74 20 42 29 |bjective|s(Bot B)|
|00002a70| 0d 0a 7b 0d 0a 09 6c 6f | 63 61 6c 20 62 6f 6f 6c |..{...lo|cal bool|
|00002a80| 20 62 53 65 65 46 6c 61 | 67 3b 0d 0a 09 6c 6f 63 | bSeeFla|g;...loc|
|00002a90| 61 6c 20 61 63 74 6f 72 | 20 46 6c 61 67 43 61 72 |al actor| FlagCar|
|00002aa0| 72 69 65 72 54 61 72 67 | 65 74 3b 0d 0a 09 6c 6f |rierTarg|et;...lo|
|00002ab0| 63 61 6c 20 63 6f 6e 74 | 72 6f 6c 6c 65 72 20 46 |cal cont|roller F|
|00002ac0| 6c 61 67 43 61 72 72 69 | 65 72 3b 0d 0a 0d 0a 09 |lagCarri|er;.....|
|00002ad0| 69 66 20 28 20 42 2e 50 | 6c 61 79 65 72 52 65 70 |if ( B.P|layerRep|
|00002ae0| 6c 69 63 61 74 69 6f 6e | 49 6e 66 6f 2e 48 61 73 |lication|Info.Has|
|00002af0| 46 6c 61 67 20 3d 3d 20 | 45 6e 65 6d 79 46 6c 61 |Flag == |EnemyFla|
|00002b00| 67 20 20 29 0d 0a 09 09 | 72 65 74 75 72 6e 20 4f |g )....|return O|
|00002b10| 72 64 65 72 73 46 6f 72 | 46 6c 61 67 43 61 72 72 |rdersFor|FlagCarr|
|00002b20| 69 65 72 28 42 29 3b 0d | 0a 0d 0a 09 41 64 64 54 |ier(B);.|....AddT|
|00002b30| 72 61 6e 73 69 65 6e 74 | 43 6f 73 74 73 28 42 2c |ransient|Costs(B,|
|00002b40| 31 29 3b 0d 0a 09 69 66 | 20 28 20 21 46 72 69 65 |1);...if| ( !Frie|
|00002b50| 6e 64 6c 79 46 6c 61 67 | 2e 62 48 6f 6d 65 20 20 |ndlyFlag|.bHome |
|00002b60| 29 0d 0a 09 7b 0d 0a 09 | 09 62 53 65 65 46 6c 61 |)...{...|.bSeeFla|
|00002b70| 67 20 3d 20 42 2e 4c 69 | 6e 65 4f 66 53 69 67 68 |g = B.Li|neOfSigh|
|00002b80| 74 54 6f 28 46 72 69 65 | 6e 64 6c 79 46 6c 61 67 |tTo(Frie|ndlyFlag|
|00002b90| 2e 50 6f 73 69 74 69 6f | 6e 28 29 29 3b 0d 0a 09 |.Positio|n());...|
|00002ba0| 09 69 66 20 28 20 54 65 | 61 6d 2e 53 69 7a 65 20 |.if ( Te|am.Size |
|00002bb0| 3d 3d 20 31 20 29 0d 0a | 09 09 7b 0d 0a 09 09 09 |== 1 )..|..{.....|
|00002bc0| 69 66 20 28 20 42 2e 4e | 65 65 64 57 65 61 70 6f |if ( B.N|eedWeapo|
|00002bd0| 6e 28 29 20 26 26 20 42 | 2e 46 69 6e 64 49 6e 76 |n() && B|.FindInv|
|00002be0| 65 6e 74 6f 72 79 47 6f | 61 6c 28 30 29 20 29 0d |entoryGo|al(0) ).|
|00002bf0| 0a 09 09 09 7b 0d 0a 09 | 09 09 09 42 2e 53 65 74 |....{...|...B.Set|
|00002c00| 41 74 74 72 61 63 74 69 | 6f 6e 53 74 61 74 65 28 |Attracti|onState(|
|00002c10| 29 3b 0d 0a 09 09 09 09 | 72 65 74 75 72 6e 20 74 |);......|return t|
|00002c20| 72 75 65 3b 0d 0a 09 09 | 09 7d 0d 0a 0d 0a 09 09 |rue;....|.}......|
|00002c30| 09 2f 2f 20 6b 65 65 70 | 20 61 74 74 61 63 6b 69 |.// keep| attacki|
|00002c40| 6e 67 20 69 66 20 31 2d | 30 6e 2d 31 0d 0a 09 09 |ng if 1-|0n-1....|
|00002c50| 09 69 66 20 28 20 28 46 | 72 69 65 6e 64 6c 79 46 |.if ( (F|riendlyF|
|00002c60| 6c 61 67 2e 48 6f 6c 64 | 65 72 20 21 3d 20 4e 6f |lag.Hold|er != No|
|00002c70| 6e 65 29 20 7c 7c 20 28 | 56 53 69 7a 65 28 42 2e |ne) || (|VSize(B.|
|00002c80| 50 61 77 6e 2e 4c 6f 63 | 61 74 69 6f 6e 20 2d 20 |Pawn.Loc|ation - |
|00002c90| 46 72 69 65 6e 64 6c 79 | 46 6c 61 67 2e 50 6f 73 |Friendly|Flag.Pos|
|00002ca0| 69 74 69 6f 6e 28 29 2e | 4c 6f 63 61 74 69 6f 6e |ition().|Location|
|00002cb0| 29 20 3e 20 56 53 69 7a | 65 28 42 2e 50 61 77 6e |) > VSiz|e(B.Pawn|
|00002cc0| 2e 4c 6f 63 61 74 69 6f | 6e 20 2d 20 45 6e 65 6d |.Locatio|n - Enem|
|00002cd0| 79 46 6c 61 67 2e 50 6f | 73 69 74 69 6f 6e 28 29 |yFlag.Po|sition()|
|00002ce0| 2e 4c 6f 63 61 74 69 6f | 6e 29 29 20 29 0d 0a 09 |.Locatio|n)) )...|
|00002cf0| 09 09 09 72 65 74 75 72 | 6e 20 46 69 6e 64 50 61 |...retur|n FindPa|
|00002d00| 74 68 54 6f 4f 62 6a 65 | 63 74 69 76 65 28 42 2c |thToObje|ctive(B,|
|00002d10| 45 6e 65 6d 79 46 6c 61 | 67 2e 50 6f 73 69 74 69 |EnemyFla|g.Positi|
|00002d20| 6f 6e 28 29 29 3b 0d 0a | 09 09 7d 0d 0a 09 09 69 |on());..|..}....i|
|00002d30| 66 20 28 20 62 53 65 65 | 46 6c 61 67 20 29 0d 0a |f ( bSee|Flag )..|
|00002d40| 09 09 7b 0d 0a 09 09 09 | 69 66 20 28 20 46 72 69 |..{.....|if ( Fri|
|00002d50| 65 6e 64 6c 79 46 6c 61 | 67 2e 48 6f 6c 64 65 72 |endlyFla|g.Holder|
|00002d60| 20 3d 3d 20 4e 6f 6e 65 | 20 29 0d 0a 09 09 09 7b | == None| ).....{|
|00002d70| 0d 0a 09 09 09 09 69 66 | 20 28 20 47 6f 50 69 63 |......if| ( GoPic|
|00002d80| 6b 75 70 46 6c 61 67 28 | 42 29 20 29 0d 0a 09 09 |kupFlag(|B) )....|
|00002d90| 09 09 09 72 65 74 75 72 | 6e 20 74 72 75 65 3b 0d |...retur|n true;.|
|00002da0| 0a 09 09 09 7d 0d 0a 09 | 09 09 65 6c 73 65 0d 0a |....}...|..else..|
|00002db0| 09 09 09 7b 0d 0a 09 09 | 09 09 69 66 20 28 20 28 |...{....|..if ( (|
|00002dc0| 42 2e 45 6e 65 6d 79 20 | 3d 3d 20 4e 6f 6e 65 29 |B.Enemy |== None)|
|00002dd0| 20 7c 7c 20 28 28 42 2e | 45 6e 65 6d 79 2e 50 6c | || ((B.|Enemy.Pl|
|00002de0| 61 79 65 72 52 65 70 6c | 69 63 61 74 69 6f 6e 49 |ayerRepl|icationI|
|00002df0| 6e 66 6f 20 21 3d 20 4e | 6f 6e 65 29 20 26 26 20 |nfo != N|one) && |
|00002e00| 28 42 2e 45 6e 65 6d 79 | 2e 50 6c 61 79 65 72 52 |(B.Enemy|.PlayerR|
|00002e10| 65 70 6c 69 63 61 74 69 | 6f 6e 49 6e 66 6f 2e 48 |eplicati|onInfo.H|
|00002e20| 61 73 46 6c 61 67 20 21 | 3d 20 46 72 69 65 6e 64 |asFlag !|= Friend|
|00002e30| 6c 79 46 6c 61 67 29 29 | 20 29 0d 0a 09 09 09 09 |lyFlag))| )......|
|00002e40| 09 46 69 6e 64 4e 65 77 | 45 6e 65 6d 79 46 6f 72 |.FindNew|EnemyFor|
|00002e50| 28 42 2c 28 42 2e 45 6e | 65 6d 79 20 21 3d 20 4e |(B,(B.En|emy != N|
|00002e60| 6f 6e 65 29 20 26 26 20 | 42 2e 4c 69 6e 65 4f 66 |one) && |B.LineOf|
|00002e70| 53 69 67 68 74 54 6f 28 | 42 2e 45 6e 65 6d 79 29 |SightTo(|B.Enemy)|
|00002e80| 29 3b 0d 0a 09 09 09 09 | 69 66 20 28 20 4c 65 76 |);......|if ( Lev|
|00002e90| 65 6c 2e 54 69 6d 65 53 | 65 63 6f 6e 64 73 20 2d |el.TimeS|econds -|
|00002ea0| 20 4c 61 73 74 53 65 65 | 46 6c 61 67 43 61 72 72 | LastSee|FlagCarr|
|00002eb0| 69 65 72 20 3e 20 36 20 | 29 0d 0a 09 09 09 09 7b |ier > 6 |)......{|
|00002ec0| 0d 0a 09 09 09 09 09 4c | 61 73 74 53 65 65 46 6c |.......L|astSeeFl|
|00002ed0| 61 67 43 61 72 72 69 65 | 72 20 3d 20 4c 65 76 65 |agCarrie|r = Leve|
|00002ee0| 6c 2e 54 69 6d 65 53 65 | 63 6f 6e 64 73 3b 0d 0a |l.TimeSe|conds;..|
|00002ef0| 09 09 09 09 09 42 2e 53 | 65 6e 64 4d 65 73 73 61 |.....B.S|endMessa|
|00002f00| 67 65 28 4e 6f 6e 65 2c | 20 27 4f 54 48 45 52 27 |ge(None,| 'OTHER'|
|00002f10| 2c 20 42 2e 47 65 74 4d | 65 73 73 61 67 65 49 6e |, B.GetM|essageIn|
|00002f20| 64 65 78 28 27 45 4e 45 | 4d 59 46 4c 41 47 43 41 |dex('ENE|MYFLAGCA|
|00002f30| 52 52 49 45 52 48 45 52 | 45 27 29 2c 20 31 30 2c |RRIERHER|E'), 10,|
|00002f40| 20 27 54 45 41 4d 27 29 | 3b 0d 0a 09 09 09 09 7d | 'TEAM')|;......}|
|00002f50| 0d 0a 09 09 09 09 42 2e | 47 6f 61 6c 53 74 72 69 |......B.|GoalStri|
|00002f60| 6e 67 20 3d 20 22 41 74 | 74 61 63 6b 20 65 6e 65 |ng = "At|tack ene|
|00002f70| 6d 79 20 66 6c 61 67 20 | 63 61 72 72 69 65 72 22 |my flag |carrier"|
|00002f80| 3b 0d 0a 09 09 09 09 69 | 66 20 28 20 42 2e 49 73 |;......i|f ( B.Is|
|00002f90| 53 6e 69 70 69 6e 67 28 | 29 20 29 0d 0a 09 09 09 |Sniping(|) ).....|
|00002fa0| 09 09 72 65 74 75 72 6e | 20 66 61 6c 73 65 3b 0d |..return| false;.|
|00002fb0| 0a 09 09 09 09 42 2e 62 | 50 75 72 73 75 69 6e 67 |.....B.b|Pursuing|
|00002fc0| 46 6c 61 67 20 3d 20 74 | 72 75 65 3b 0d 0a 09 09 |Flag = t|rue;....|
|00002fd0| 09 09 72 65 74 75 72 6e | 20 28 20 54 72 79 54 6f |..return| ( TryTo|
|00002fe0| 49 6e 74 65 72 63 65 70 | 74 28 42 2c 46 72 69 65 |Intercep|t(B,Frie|
|00002ff0| 6e 64 6c 79 46 6c 61 67 | 2e 48 6f 6c 64 65 72 2c |ndlyFlag|.Holder,|
|00003000| 45 6e 65 6d 79 46 6c 61 | 67 2e 48 6f 6d 65 62 61 |EnemyFla|g.Homeba|
|00003010| 73 65 29 20 29 3b 0d 0a | 09 09 09 7d 0d 0a 09 09 |se) );..|...}....|
|00003020| 7d 0d 0a 0d 0a 09 09 69 | 66 20 28 20 47 65 74 4f |}......i|f ( GetO|
|00003030| 72 64 65 72 73 28 29 20 | 3d 3d 20 27 41 74 74 61 |rders() |== 'Atta|
|00003040| 63 6b 27 20 29 0d 0a 09 | 09 7b 0d 0a 09 09 09 2f |ck' )...|.{...../|
|00003050| 2f 20 62 72 65 61 6b 20 | 6f 66 66 20 61 74 74 61 |/ break |off atta|
|00003060| 63 6b 20 6f 6e 6c 79 20 | 69 66 20 6e 65 65 64 65 |ck only |if neede|
|00003070| 64 0d 0a 09 09 09 69 66 | 20 28 20 42 2e 62 50 75 |d.....if| ( B.bPu|
|00003080| 72 73 75 69 6e 67 46 6c | 61 67 20 7c 7c 20 62 53 |rsuingFl|ag || bS|
|00003090| 65 65 46 6c 61 67 20 7c | 7c 20 28 42 2e 4c 61 73 |eeFlag ||| (B.Las|
|000030a0| 74 52 65 73 70 61 77 6e | 54 69 6d 65 20 3e 20 46 |tRespawn|Time > F|
|000030b0| 72 69 65 6e 64 6c 79 46 | 6c 61 67 2e 54 61 6b 65 |riendlyF|lag.Take|
|000030c0| 6e 54 69 6d 65 29 20 7c | 7c 20 4e 65 61 72 48 6f |nTime) ||| NearHo|
|000030d0| 6d 65 42 61 73 65 28 42 | 29 0d 0a 09 09 09 09 7c |meBase(B|)......||
|000030e0| 7c 20 28 28 4c 65 76 65 | 6c 2e 54 69 6d 65 53 65 || ((Leve|l.TimeSe|
|000030f0| 63 6f 6e 64 73 20 2d 20 | 46 72 69 65 6e 64 6c 79 |conds - |Friendly|
|00003100| 46 6c 61 67 2e 54 61 6b | 65 6e 54 69 6d 65 20 3e |Flag.Tak|enTime >|
|00003110| 20 46 72 69 65 6e 64 6c | 79 46 6c 61 67 2e 48 6f | Friendl|yFlag.Ho|
|00003120| 6d 65 42 61 73 65 2e 42 | 61 73 65 45 78 69 74 54 |meBase.B|aseExitT|
|00003130| 69 6d 65 29 20 26 26 20 | 21 4e 65 61 72 45 6e 65 |ime) && |!NearEne|
|00003140| 6d 79 42 61 73 65 28 42 | 29 29 20 29 0d 0a 09 09 |myBase(B|)) )....|
|00003150| 09 7b 0d 0a 09 09 09 09 | 42 2e 62 50 75 72 73 75 |.{......|B.bPursu|
|00003160| 69 6e 67 46 6c 61 67 20 | 3d 20 74 72 75 65 3b 0d |ingFlag |= true;.|
|00003170| 0a 09 09 09 09 42 2e 47 | 6f 61 6c 53 74 72 69 6e |.....B.G|oalStrin|
|00003180| 67 20 3d 20 22 47 6f 20 | 61 66 74 65 72 20 65 6e |g = "Go |after en|
|00003190| 65 6d 79 20 68 6f 6c 64 | 69 6e 67 20 66 6c 61 67 |emy hold|ing flag|
|000031a0| 20 72 61 74 68 65 72 20 | 74 68 61 6e 20 61 74 74 | rather |than att|
|000031b0| 61 63 6b 69 6e 67 22 3b | 0d 0a 09 09 09 09 69 66 |acking";|......if|
|000031c0| 20 28 20 46 72 69 65 6e | 64 6c 79 46 6c 61 67 2e | ( Frien|dlyFlag.|
|000031d0| 48 6f 6c 64 65 72 20 21 | 3d 20 4e 6f 6e 65 20 29 |Holder !|= None )|
|000031e0| 0d 0a 09 09 09 09 09 72 | 65 74 75 72 6e 20 54 72 |.......r|eturn Tr|
|000031f0| 79 54 6f 49 6e 74 65 72 | 63 65 70 74 28 42 2c 46 |yToInter|cept(B,F|
|00003200| 72 69 65 6e 64 6c 79 46 | 6c 61 67 2e 48 6f 6c 64 |riendlyF|lag.Hold|
|00003210| 65 72 2c 45 6e 65 6d 79 | 46 6c 61 67 2e 48 6f 6d |er,Enemy|Flag.Hom|
|00003220| 65 62 61 73 65 29 3b 0d | 0a 09 09 09 09 65 6c 73 |ebase);.|.....els|
|00003230| 65 20 69 66 20 28 20 47 | 6f 50 69 63 6b 75 70 46 |e if ( G|oPickupF|
|00003240| 6c 61 67 28 42 29 20 29 | 0d 0a 09 09 09 09 09 72 |lag(B) )|.......r|
|00003250| 65 74 75 72 6e 20 74 72 | 75 65 3b 0d 0a 0d 0a 09 |eturn tr|ue;.....|
|00003260| 09 09 7d 0d 0a 09 09 09 | 65 6c 73 65 20 69 66 20 |..}.....|else if |
|00003270| 28 20 42 2e 62 52 65 61 | 63 68 65 64 47 61 74 68 |( B.bRea|chedGath|
|00003280| 65 72 50 6f 69 6e 74 20 | 29 0d 0a 09 09 09 09 42 |erPoint |)......B|
|00003290| 2e 47 61 74 68 65 72 54 | 69 6d 65 20 3d 20 4c 65 |.GatherT|ime = Le|
|000032a0| 76 65 6c 2e 54 69 6d 65 | 53 65 63 6f 6e 64 73 20 |vel.Time|Seconds |
|000032b0| 2d 20 31 30 3b 0d 0a 09 | 09 7d 0d 0a 09 09 65 6c |- 10;...|.}....el|
|000032c0| 73 65 20 69 66 20 28 20 | 28 50 6c 61 79 65 72 43 |se if ( |(PlayerC|
|000032d0| 6f 6e 74 72 6f 6c 6c 65 | 72 28 53 71 75 61 64 4c |ontrolle|r(SquadL|
|000032e0| 65 61 64 65 72 29 20 3d | 3d 20 4e 6f 6e 65 29 20 |eader) =|= None) |
|000032f0| 26 26 20 21 42 2e 49 73 | 53 6e 69 70 69 6e 67 28 |&& !B.Is|Sniping(|
|00003300| 29 0d 0a 09 09 09 26 26 | 20 28 28 43 75 72 72 65 |).....&&| ((Curre|
|00003310| 6e 74 4f 72 64 65 72 73 | 20 21 3d 20 27 44 65 66 |ntOrders| != 'Def|
|00003320| 65 6e 64 27 29 20 7c 7c | 20 62 53 65 65 46 6c 61 |end') ||| bSeeFla|
|00003330| 67 20 7c 7c 20 42 2e 62 | 50 75 72 73 75 69 6e 67 |g || B.b|Pursuing|
|00003340| 46 6c 61 67 20 7c 7c 20 | 46 6c 61 67 4e 65 61 72 |Flag || |FlagNear|
|00003350| 42 61 73 65 28 29 29 20 | 29 0d 0a 09 09 7b 0d 0a |Base()) |)....{..|
|00003360| 09 09 09 2f 2f 20 46 49 | 58 4d 45 20 2d 20 74 72 |...// FI|XME - tr|
|00003370| 79 20 74 6f 20 6c 65 61 | 76 65 20 6f 6e 65 20 64 |y to lea|ve one d|
|00003380| 65 66 65 6e 64 65 72 20 | 61 74 20 62 61 73 65 0d |efender |at base.|
|00003390| 0a 09 09 09 42 2e 62 50 | 75 72 73 75 69 6e 67 46 |....B.bP|ursuingF|
|000033a0| 6c 61 67 20 3d 20 74 72 | 75 65 3b 0d 0a 09 09 09 |lag = tr|ue;.....|
|000033b0| 42 2e 47 6f 61 6c 53 74 | 72 69 6e 67 20 3d 20 22 |B.GoalSt|ring = "|
|000033c0| 47 6f 20 66 69 6e 64 20 | 6d 79 20 66 6c 61 67 22 |Go find |my flag"|
|000033d0| 3b 0d 0a 09 09 09 69 66 | 20 28 20 46 72 69 65 6e |;.....if| ( Frien|
|000033e0| 64 6c 79 46 6c 61 67 2e | 48 6f 6c 64 65 72 20 21 |dlyFlag.|Holder !|
|000033f0| 3d 20 4e 6f 6e 65 20 29 | 0d 0a 09 09 09 09 72 65 |= None )|......re|
|00003400| 74 75 72 6e 20 54 72 79 | 54 6f 49 6e 74 65 72 63 |turn Try|ToInterc|
|00003410| 65 70 74 28 42 2c 46 72 | 69 65 6e 64 6c 79 46 6c |ept(B,Fr|iendlyFl|
|00003420| 61 67 2e 48 6f 6c 64 65 | 72 2c 45 6e 65 6d 79 46 |ag.Holde|r,EnemyF|
|00003430| 6c 61 67 2e 48 6f 6d 65 | 62 61 73 65 29 3b 0d 0a |lag.Home|base);..|
|00003440| 09 09 09 65 6c 73 65 20 | 69 66 20 28 20 47 6f 50 |...else |if ( GoP|
|00003450| 69 63 6b 75 70 46 6c 61 | 67 28 42 29 20 29 0d 0a |ickupFla|g(B) )..|
|00003460| 09 09 09 09 72 65 74 75 | 72 6e 20 74 72 75 65 3b |....retu|rn true;|
|00003470| 0d 0a 09 09 7d 0d 0a 09 | 7d 0d 0a 09 42 2e 62 50 |....}...|}...B.bP|
|00003480| 75 72 73 75 69 6e 67 46 | 6c 61 67 20 3d 20 66 61 |ursuingF|lag = fa|
|00003490| 6c 73 65 3b 0d 0a 0d 0a | 09 69 66 20 28 20 28 53 |lse;....|.if ( (S|
|000034a0| 71 75 61 64 4f 62 6a 65 | 63 74 69 76 65 20 3d 3d |quadObje|ctive ==|
|000034b0| 20 45 6e 65 6d 79 46 6c | 61 67 2e 48 6f 6d 65 62 | EnemyFl|ag.Homeb|
|000034c0| 61 73 65 29 20 26 26 20 | 28 42 2e 45 6e 65 6d 79 |ase) && |(B.Enemy|
|000034d0| 20 21 3d 20 4e 6f 6e 65 | 29 20 26 26 20 46 72 69 | != None|) && Fri|
|000034e0| 65 6e 64 6c 79 46 6c 61 | 67 2e 48 6f 6d 65 62 61 |endlyFla|g.Homeba|
|000034f0| 73 65 2e 42 6f 74 4e 65 | 61 72 4f 62 6a 65 63 74 |se.BotNe|arObject|
|00003500| 69 76 65 28 42 29 0d 0a | 09 09 26 26 20 28 4c 65 |ive(B)..|..&& (Le|
|00003510| 76 65 6c 2e 54 69 6d 65 | 53 65 63 6f 6e 64 73 20 |vel.Time|Seconds |
|00003520| 2d 20 42 2e 4c 61 73 74 | 53 65 65 6e 54 69 6d 65 |- B.Last|SeenTime|
|00003530| 20 3c 20 33 29 20 29 0d | 0a 09 7b 0d 0a 09 09 69 | < 3) ).|..{....i|
|00003540| 66 20 28 20 21 45 6e 65 | 6d 79 46 6c 61 67 2e 62 |f ( !Ene|myFlag.b|
|00003550| 48 6f 6d 65 20 26 26 20 | 28 45 6e 65 6d 79 46 6c |Home && |(EnemyFl|
|00003560| 61 67 2e 48 6f 6c 64 65 | 72 20 3d 3d 20 4e 6f 6e |ag.Holde|r == Non|
|00003570| 65 20 29 20 26 26 20 42 | 2e 4c 69 6e 65 4f 66 53 |e ) && B|.LineOfS|
|00003580| 69 67 68 74 54 6f 28 45 | 6e 65 6d 79 46 6c 61 67 |ightTo(E|nemyFlag|
|00003590| 2e 50 6f 73 69 74 69 6f | 6e 28 29 29 20 29 0d 0a |.Positio|n()) )..|
|000035a0| 09 09 09 72 65 74 75 72 | 6e 20 46 69 6e 64 50 61 |...retur|n FindPa|
|000035b0| 74 68 54 6f 4f 62 6a 65 | 63 74 69 76 65 28 42 2c |thToObje|ctive(B,|
|000035c0| 45 6e 65 6d 79 46 6c 61 | 67 2e 50 6f 73 69 74 69 |EnemyFla|g.Positi|
|000035d0| 6f 6e 28 29 29 3b 0d 0a | 0d 0a 09 09 42 2e 53 65 |on());..|....B.Se|
|000035e0| 6e 64 4d 65 73 73 61 67 | 65 28 4e 6f 6e 65 2c 20 |ndMessag|e(None, |
|000035f0| 27 4f 54 48 45 52 27 2c | 20 42 2e 47 65 74 4d 65 |'OTHER',| B.GetMe|
|00003600| 73 73 61 67 65 49 6e 64 | 65 78 28 27 49 4e 43 4f |ssageInd|ex('INCO|
|00003610| 4d 49 4e 47 27 29 2c 20 | 31 35 2c 20 27 54 45 41 |MING'), |15, 'TEA|
|00003620| 4d 27 29 3b 0d 0a 09 09 | 42 2e 47 6f 61 6c 53 74 |M');....|B.GoalSt|
|00003630| 72 69 6e 67 20 3d 20 22 | 49 6e 74 65 72 63 65 70 |ring = "|Intercep|
|00003640| 74 20 69 6e 63 6f 6d 69 | 6e 67 20 65 6e 65 6d 79 |t incomi|ng enemy|
|00003650| 21 22 3b 0d 0a 09 09 72 | 65 74 75 72 6e 20 66 61 |!";....r|eturn fa|
|00003660| 6c 73 65 3b 0d 0a 09 7d | 0d 0a 0d 0a 09 69 66 20 |lse;...}|.....if |
|00003670| 28 20 45 6e 65 6d 79 46 | 6c 61 67 2e 48 6f 6c 64 |( EnemyF|lag.Hold|
|00003680| 65 72 20 3d 3d 20 4e 6f | 6e 65 20 29 0d 0a 09 7b |er == No|ne )...{|
|00003690| 0d 0a 09 09 69 66 20 28 | 20 21 45 6e 65 6d 79 46 |....if (| !EnemyF|
|000036a0| 6c 61 67 2e 62 48 6f 6d | 65 20 7c 7c 20 45 6e 65 |lag.bHom|e || Ene|
|000036b0| 6d 79 46 6c 61 67 2e 48 | 6f 6d 65 62 61 73 65 2e |myFlag.H|omebase.|
|000036c0| 42 6f 74 4e 65 61 72 4f | 62 6a 65 63 74 69 76 65 |BotNearO|bjective|
|000036d0| 28 42 29 20 29 0d 0a 09 | 09 7b 0d 0a 09 09 09 42 |(B) )...|.{.....B|
|000036e0| 2e 47 6f 61 6c 53 74 72 | 69 6e 67 20 3d 20 22 4e |.GoalStr|ing = "N|
|000036f0| 65 61 72 20 65 6e 65 6d | 79 20 66 6c 61 67 21 22 |ear enem|y flag!"|
|00003700| 3b 0d 0a 09 09 09 72 65 | 74 75 72 6e 20 46 69 6e |;.....re|turn Fin|
|00003710| 64 50 61 74 68 54 6f 4f | 62 6a 65 63 74 69 76 65 |dPathToO|bjective|
|00003720| 28 42 2c 45 6e 65 6d 79 | 46 6c 61 67 2e 50 6f 73 |(B,Enemy|Flag.Pos|
|00003730| 69 74 69 6f 6e 28 29 29 | 3b 0d 0a 09 09 7d 0d 0a |ition())|;....}..|
|00003740| 09 7d 0d 0a 09 65 6c 73 | 65 20 69 66 20 28 20 28 |.}...els|e if ( (|
|00003750| 47 65 74 4f 72 64 65 72 | 73 28 29 20 21 3d 20 27 |GetOrder|s() != '|
|00003760| 44 65 66 65 6e 64 27 29 | 20 26 26 20 21 53 71 75 |Defend')| && !Squ|
|00003770| 61 64 4c 65 61 64 65 72 | 2e 49 73 41 28 27 50 6c |adLeader|.IsA('Pl|
|00003780| 61 79 65 72 43 6f 6e 74 | 72 6f 6c 6c 65 72 27 29 |ayerCont|roller')|
|00003790| 20 29 0d 0a 09 7b 0d 0a | 09 09 2f 2f 20 6d 61 6b | )...{..|..// mak|
|000037a0| 65 20 66 6c 61 67 20 63 | 61 72 72 69 65 72 20 73 |e flag c|arrier s|
|000037b0| 71 75 61 64 20 6c 65 61 | 64 65 72 20 69 66 20 6f |quad lea|der if o|
|000037c0| 6e 20 73 61 6d 65 20 73 | 71 75 61 64 0d 0a 09 09 |n same s|quad....|
|000037d0| 46 6c 61 67 43 61 72 72 | 69 65 72 20 3d 20 45 6e |FlagCarr|ier = En|
|000037e0| 65 6d 79 46 6c 61 67 2e | 48 6f 6c 64 65 72 2e 43 |emyFlag.|Holder.C|
|000037f0| 6f 6e 74 72 6f 6c 6c 65 | 72 3b 0d 0a 09 09 69 66 |ontrolle|r;....if|
|00003800| 20 28 20 28 46 6c 61 67 | 43 61 72 72 69 65 72 20 | ( (Flag|Carrier |
|00003810| 3d 3d 20 4e 6f 6e 65 29 | 20 26 26 20 28 45 6e 65 |== None)| && (Ene|
|00003820| 6d 79 46 6c 61 67 2e 48 | 6f 6c 64 65 72 2e 44 72 |myFlag.H|older.Dr|
|00003830| 69 76 65 6e 56 65 68 69 | 63 6c 65 20 21 3d 20 4e |ivenVehi|cle != N|
|00003840| 6f 6e 65 29 20 29 0d 0a | 09 09 09 46 6c 61 67 43 |one) )..|...FlagC|
|00003850| 61 72 72 69 65 72 20 3d | 20 45 6e 65 6d 79 46 6c |arrier =| EnemyFl|
|00003860| 61 67 2e 48 6f 6c 64 65 | 72 2e 44 72 69 76 65 6e |ag.Holde|r.Driven|
|00003870| 56 65 68 69 63 6c 65 2e | 43 6f 6e 74 72 6f 6c 6c |Vehicle.|Controll|
|00003880| 65 72 3b 0d 0a 09 09 09 | 0d 0a 09 09 69 66 20 28 |er;.....|....if (|
|00003890| 20 28 53 71 75 61 64 4c | 65 61 64 65 72 20 21 3d | (SquadL|eader !=|
|000038a0| 20 46 6c 61 67 43 61 72 | 72 69 65 72 29 20 26 26 | FlagCar|rier) &&|
|000038b0| 20 49 73 4f 6e 53 71 75 | 61 64 28 46 6c 61 67 43 | IsOnSqu|ad(FlagC|
|000038c0| 61 72 72 69 65 72 29 20 | 29 0d 0a 09 09 09 53 65 |arrier) |).....Se|
|000038d0| 74 4c 65 61 64 65 72 28 | 46 6c 61 67 43 61 72 72 |tLeader(|FlagCarr|
|000038e0| 69 65 72 29 3b 0d 0a 0d | 0a 09 09 69 66 20 28 20 |ier);...|...if ( |
|000038f0| 28 42 2e 45 6e 65 6d 79 | 20 21 3d 20 4e 6f 6e 65 |(B.Enemy| != None|
|00003900| 29 20 26 26 20 42 2e 45 | 6e 65 6d 79 2e 4c 69 6e |) && B.E|nemy.Lin|
|00003910| 65 4f 66 53 69 67 68 74 | 54 6f 28 46 6c 61 67 43 |eOfSight|To(FlagC|
|00003920| 61 72 72 69 65 72 2e 50 | 61 77 6e 29 20 29 0d 0a |arrier.P|awn) )..|
|00003930| 09 09 7b 0d 0a 09 09 09 | 42 2e 47 6f 61 6c 53 74 |..{.....|B.GoalSt|
|00003940| 72 69 6e 67 20 3d 20 22 | 46 69 67 68 74 20 65 6e |ring = "|Fight en|
|00003950| 65 6d 79 20 74 68 72 65 | 61 74 65 6e 69 6e 67 20 |emy thre|atening |
|00003960| 66 6c 61 67 20 63 61 72 | 72 69 65 72 22 3b 0d 0a |flag car|rier";..|
|00003970| 09 09 09 42 2e 46 69 67 | 68 74 45 6e 65 6d 79 28 |...B.Fig|htEnemy(|
|00003980| 74 72 75 65 2c 30 29 3b | 0d 0a 09 09 09 72 65 74 |true,0);|.....ret|
|00003990| 75 72 6e 20 74 72 75 65 | 3b 0d 0a 09 09 7d 0d 0a |urn true|;....}..|
|000039a0| 0d 0a 09 09 69 66 20 28 | 20 28 28 46 6c 61 67 43 |....if (| ((FlagC|
|000039b0| 61 72 72 69 65 72 2e 4d | 6f 76 65 54 61 72 67 65 |arrier.M|oveTarge|
|000039c0| 74 20 3d 3d 20 46 72 69 | 65 6e 64 6c 79 46 6c 61 |t == Fri|endlyFla|
|000039d0| 67 2e 48 6f 6d 65 42 61 | 73 65 29 0d 0a 09 09 09 |g.HomeBa|se).....|
|000039e0| 7c 7c 20 28 46 6c 61 67 | 43 61 72 72 69 65 72 2e ||| (Flag|Carrier.|
|000039f0| 52 6f 75 74 65 43 61 63 | 68 65 5b 31 5d 20 3d 3d |RouteCac|he[1] ==|
|00003a00| 20 46 72 69 65 6e 64 6c | 79 46 6c 61 67 2e 48 6f | Friendl|yFlag.Ho|
|00003a10| 6d 65 42 61 73 65 29 29 | 0d 0a 09 09 09 26 26 20 |meBase))|.....&& |
|00003a20| 28 42 2e 45 6e 65 6d 79 | 20 21 3d 20 4e 6f 6e 65 |(B.Enemy| != None|
|00003a30| 29 0d 0a 09 09 09 26 26 | 20 42 2e 4c 69 6e 65 4f |).....&&| B.LineO|
|00003a40| 66 53 69 67 68 74 54 6f | 28 46 72 69 65 6e 64 6c |fSightTo|(Friendl|
|00003a50| 79 46 6c 61 67 2e 48 6f | 6d 65 42 61 73 65 29 20 |yFlag.Ho|meBase) |
|00003a60| 29 0d 0a 09 09 7b 0d 0a | 09 09 09 42 2e 47 6f 61 |)....{..|...B.Goa|
|00003a70| 6c 53 74 72 69 6e 67 20 | 3d 20 22 46 69 67 68 74 |lString |= "Fight|
|00003a80| 20 65 6e 65 6d 79 20 77 | 68 69 6c 65 20 77 61 69 | enemy w|hile wai|
|00003a90| 74 69 6e 67 20 66 6f 72 | 20 66 6c 61 67 20 63 61 |ting for| flag ca|
|00003aa0| 72 72 69 65 72 20 74 6f | 20 73 63 6f 72 65 22 3b |rrier to| score";|
|00003ab0| 0d 0a 09 09 09 69 66 20 | 28 20 42 2e 4c 6f 73 74 |.....if |( B.Lost|
|00003ac0| 43 6f 6e 74 61 63 74 28 | 37 29 20 29 0d 0a 09 09 |Contact(|7) )....|
|00003ad0| 09 09 42 2e 4c 6f 73 65 | 45 6e 65 6d 79 28 29 3b |..B.Lose|Enemy();|
|00003ae0| 0d 0a 09 09 09 69 66 20 | 28 20 42 2e 45 6e 65 6d |.....if |( B.Enem|
|00003af0| 79 20 21 3d 20 4e 6f 6e | 65 20 29 0d 0a 09 09 09 |y != Non|e ).....|
|00003b00| 7b 0d 0a 09 09 09 09 42 | 2e 46 69 67 68 74 45 6e |{......B|.FightEn|
|00003b10| 65 6d 79 28 66 61 6c 73 | 65 2c 30 29 3b 0d 0a 09 |emy(fals|e,0);...|
|00003b20| 09 09 09 72 65 74 75 72 | 6e 20 74 72 75 65 3b 0d |...retur|n true;.|
|00003b30| 0a 09 09 09 7d 0d 0a 09 | 09 7d 0d 0a 0d 0a 09 09 |....}...|.}......|
|00003b40| 69 66 20 28 20 28 41 49 | 43 6f 6e 74 72 6f 6c 6c |if ( (AI|Controll|
|00003b50| 65 72 28 46 6c 61 67 43 | 61 72 72 69 65 72 29 20 |er(FlagC|arrier) |
|00003b60| 21 3d 20 4e 6f 6e 65 29 | 20 26 26 20 28 46 6c 61 |!= None)| && (Fla|
|00003b70| 67 43 61 72 72 69 65 72 | 2e 4d 6f 76 65 54 61 72 |gCarrier|.MoveTar|
|00003b80| 67 65 74 20 21 3d 20 4e | 6f 6e 65 29 0d 0a 09 09 |get != N|one)....|
|00003b90| 09 26 26 20 28 46 6c 61 | 67 43 61 72 72 69 65 72 |.&& (Fla|gCarrier|
|00003ba0| 2e 49 6e 4c 61 74 65 6e | 74 45 78 65 63 75 74 69 |.InLaten|tExecuti|
|00003bb0| 6f 6e 28 46 6c 61 67 43 | 61 72 72 69 65 72 2e 4c |on(FlagC|arrier.L|
|00003bc0| 41 54 45 4e 54 5f 4d 4f | 56 45 54 4f 57 41 52 44 |ATENT_MO|VETOWARD|
|00003bd0| 29 29 20 29 0d 0a 09 09 | 7b 0d 0a 09 09 09 69 66 |)) )....|{.....if|
|00003be0| 20 28 20 28 46 6c 61 67 | 43 61 72 72 69 65 72 2e | ( (Flag|Carrier.|
|00003bf0| 52 6f 75 74 65 43 61 63 | 68 65 5b 30 5d 20 3d 3d |RouteCac|he[0] ==|
|00003c00| 20 46 6c 61 67 43 61 72 | 72 69 65 72 2e 4d 6f 76 | FlagCar|rier.Mov|
|00003c10| 65 54 61 72 67 65 74 29 | 0d 0a 09 09 09 09 26 26 |eTarget)|......&&|
|00003c20| 20 28 46 6c 61 67 43 61 | 72 72 69 65 72 2e 52 6f | (FlagCa|rrier.Ro|
|00003c30| 75 74 65 43 61 63 68 65 | 5b 31 5d 20 21 3d 20 4e |uteCache|[1] != N|
|00003c40| 6f 6e 65 29 20 29 0d 0a | 09 09 09 09 46 6c 61 67 |one) )..|....Flag|
|00003c50| 43 61 72 72 69 65 72 54 | 61 72 67 65 74 20 3d 20 |CarrierT|arget = |
|00003c60| 46 6c 61 67 43 61 72 72 | 69 65 72 2e 52 6f 75 74 |FlagCarr|ier.Rout|
|00003c70| 65 43 61 63 68 65 5b 31 | 5d 3b 0d 0a 09 09 09 65 |eCache[1|];.....e|
|00003c80| 6c 73 65 0d 0a 09 09 09 | 09 46 6c 61 67 43 61 72 |lse.....|.FlagCar|
|00003c90| 72 69 65 72 54 61 72 67 | 65 74 20 3d 20 46 6c 61 |rierTarg|et = Fla|
|00003ca0| 67 43 61 72 72 69 65 72 | 2e 4d 6f 76 65 54 61 72 |gCarrier|.MoveTar|
|00003cb0| 67 65 74 3b 0d 0a 09 09 | 7d 0d 0a 09 09 65 6c 73 |get;....|}....els|
|00003cc0| 65 0d 0a 09 09 09 46 6c | 61 67 43 61 72 72 69 65 |e.....Fl|agCarrie|
|00003cd0| 72 54 61 72 67 65 74 20 | 3d 20 46 6c 61 67 43 61 |rTarget |= FlagCa|
|00003ce0| 72 72 69 65 72 2e 50 61 | 77 6e 3b 0d 0a 09 09 46 |rrier.Pa|wn;....F|
|00003cf0| 69 6e 64 50 61 74 68 54 | 6f 4f 62 6a 65 63 74 69 |indPathT|oObjecti|
|00003d00| 76 65 28 42 2c 46 6c 61 | 67 43 61 72 72 69 65 72 |ve(B,Fla|gCarrier|
|00003d10| 54 61 72 67 65 74 29 3b | 0d 0a 09 09 69 66 20 28 |Target);|....if (|
|00003d20| 20 28 42 2e 4d 6f 76 65 | 54 61 72 67 65 74 20 3d | (B.Move|Target =|
|00003d30| 3d 20 46 6c 61 67 43 61 | 72 72 69 65 72 54 61 72 |= FlagCa|rrierTar|
|00003d40| 67 65 74 29 20 7c 7c 20 | 28 42 2e 4d 6f 76 65 54 |get) || |(B.MoveT|
|00003d50| 61 72 67 65 74 20 3d 3d | 20 46 6c 61 67 43 61 72 |arget ==| FlagCar|
|00003d60| 72 69 65 72 2e 4d 6f 76 | 65 54 61 72 67 65 74 29 |rier.Mov|eTarget)|
|00003d70| 20 29 0d 0a 09 09 7b 0d | 0a 09 09 09 69 66 20 28 | )....{.|....if (|
|00003d80| 20 42 2e 45 6e 65 6d 79 | 20 21 3d 20 4e 6f 6e 65 | B.Enemy| != None|
|00003d90| 20 29 0d 0a 09 09 09 7b | 0d 0a 09 09 09 09 42 2e | ).....{|......B.|
|00003da0| 47 6f 61 6c 53 74 72 69 | 6e 67 20 3d 20 22 46 69 |GoalStri|ng = "Fi|
|00003db0| 67 68 74 20 65 6e 65 6d | 79 20 77 68 69 6c 65 20 |ght enem|y while |
|00003dc0| 77 61 69 74 69 6e 67 20 | 66 6f 72 20 66 6c 61 67 |waiting |for flag|
|00003dd0| 20 63 61 72 72 69 65 72 | 22 3b 0d 0a 09 09 09 09 | carrier|";......|
|00003de0| 69 66 20 28 20 42 2e 4c | 6f 73 74 43 6f 6e 74 61 |if ( B.L|ostConta|
|00003df0| 63 74 28 37 29 20 29 0d | 0a 09 09 09 09 09 42 2e |ct(7) ).|......B.|
|00003e00| 4c 6f 73 65 45 6e 65 6d | 79 28 29 3b 0d 0a 09 09 |LoseEnem|y();....|
|00003e10| 09 09 69 66 20 28 20 42 | 2e 45 6e 65 6d 79 20 21 |..if ( B|.Enemy !|
|00003e20| 3d 20 4e 6f 6e 65 20 29 | 0d 0a 09 09 09 09 7b 0d |= None )|......{.|
|00003e30| 0a 09 09 09 09 09 42 2e | 46 69 67 68 74 45 6e 65 |......B.|FightEne|
|00003e40| 6d 79 28 66 61 6c 73 65 | 2c 30 29 3b 0d 0a 09 09 |my(false|,0);....|
|00003e50| 09 09 09 72 65 74 75 72 | 6e 20 74 72 75 65 3b 0d |...retur|n true;.|
|00003e60| 0a 09 09 09 09 7d 0d 0a | 09 09 09 7d 0d 0a 09 09 |.....}..|...}....|
|00003e70| 09 69 66 20 28 20 21 42 | 2e 62 49 6e 69 74 4c 69 |.if ( !B|.bInitLi|
|00003e80| 66 65 4d 65 73 73 61 67 | 65 20 29 0d 0a 09 09 09 |feMessag|e ).....|
|00003e90| 7b 0d 0a 09 09 09 09 42 | 2e 62 49 6e 69 74 4c 69 |{......B|.bInitLi|
|00003ea0| 66 65 4d 65 73 73 61 67 | 65 20 3d 20 74 72 75 65 |feMessag|e = true|
|00003eb0| 3b 0d 0a 09 09 09 09 42 | 2e 53 65 6e 64 4d 65 73 |;......B|.SendMes|
|00003ec0| 73 61 67 65 28 45 6e 65 | 6d 79 46 6c 61 67 2e 48 |sage(Ene|myFlag.H|
|00003ed0| 6f 6c 64 65 72 2e 50 6c | 61 79 65 72 52 65 70 6c |older.Pl|ayerRepl|
|00003ee0| 69 63 61 74 69 6f 6e 49 | 6e 66 6f 2c 20 27 4f 54 |icationI|nfo, 'OT|
|00003ef0| 48 45 52 27 2c 20 42 2e | 47 65 74 4d 65 73 73 61 |HER', B.|GetMessa|
|00003f00| 67 65 49 6e 64 65 78 28 | 27 47 4f 54 59 4f 55 52 |geIndex(|'GOTYOUR|
|00003f10| 42 41 43 4b 27 29 2c 20 | 31 30 2c 20 27 54 45 41 |BACK'), |10, 'TEA|
|00003f20| 4d 27 29 3b 0d 0a 09 09 | 09 7d 0d 0a 09 09 09 69 |M');....|.}.....i|
|00003f30| 66 20 28 20 28 42 2e 4d | 6f 76 65 54 61 72 67 65 |f ( (B.M|oveTarge|
|00003f40| 74 20 3d 3d 20 46 6c 61 | 67 43 61 72 72 69 65 72 |t == Fla|gCarrier|
|00003f50| 2e 50 61 77 6e 29 0d 0a | 09 09 09 09 26 26 20 28 |.Pawn)..|....&& (|
|00003f60| 28 56 53 69 7a 65 28 42 | 2e 50 61 77 6e 2e 4c 6f |(VSize(B|.Pawn.Lo|
|00003f70| 63 61 74 69 6f 6e 20 2d | 20 46 6c 61 67 43 61 72 |cation -| FlagCar|
|00003f80| 72 69 65 72 2e 50 61 77 | 6e 2e 4c 6f 63 61 74 69 |rier.Paw|n.Locati|
|00003f90| 6f 6e 29 20 3c 20 32 35 | 30 29 20 7c 7c 20 28 46 |on) < 25|0) || (F|
|00003fa0| 6c 61 67 43 61 72 72 69 | 65 72 2e 50 61 77 6e 2e |lagCarri|er.Pawn.|
|00003fb0| 41 63 63 65 6c 65 72 61 | 74 69 6f 6e 20 3d 3d 20 |Accelera|tion == |
|00003fc0| 76 65 63 74 28 30 2c 30 | 2c 30 29 29 29 20 29 0d |vect(0,0|,0))) ).|
|00003fd0| 0a 09 09 09 09 72 65 74 | 75 72 6e 20 66 61 6c 73 |.....ret|urn fals|
|00003fe0| 65 3b 0d 0a 09 09 09 69 | 66 20 28 20 42 2e 50 61 |e;.....i|f ( B.Pa|
|00003ff0| 77 6e 2e 52 65 61 63 68 | 65 64 44 65 73 74 69 6e |wn.Reach|edDestin|
|00004000| 61 74 69 6f 6e 28 46 6c | 61 67 43 61 72 72 69 65 |ation(Fl|agCarrie|
|00004010| 72 54 61 72 67 65 74 29 | 20 7c 7c 20 28 46 6c 61 |rTarget)| || (Fla|
|00004020| 67 43 61 72 72 69 65 72 | 2e 50 61 77 6e 2e 41 63 |gCarrier|.Pawn.Ac|
|00004030| 63 65 6c 65 72 61 74 69 | 6f 6e 20 3d 3d 20 76 65 |celerati|on == ve|
|00004040| 63 74 28 30 2c 30 2c 30 | 29 29 0d 0a 09 09 09 09 |ct(0,0,0|))......|
|00004050| 7c 7c 20 28 46 6c 61 67 | 43 61 72 72 69 65 72 2e ||| (Flag|Carrier.|
|00004060| 4d 6f 76 65 54 61 72 67 | 65 74 20 3d 3d 20 46 72 |MoveTarg|et == Fr|
|00004070| 69 65 6e 64 6c 79 46 6c | 61 67 2e 48 6f 6d 65 42 |iendlyFl|ag.HomeB|
|00004080| 61 73 65 29 20 7c 7c 20 | 28 46 6c 61 67 43 61 72 |ase) || |(FlagCar|
|00004090| 72 69 65 72 2e 52 6f 75 | 74 65 43 61 63 68 65 5b |rier.Rou|teCache[|
|000040a0| 31 5d 20 3d 3d 20 46 72 | 69 65 6e 64 6c 79 46 6c |1] == Fr|iendlyFl|
|000040b0| 61 67 2e 48 6f 6d 65 42 | 61 73 65 29 20 29 0d 0a |ag.HomeB|ase) )..|
|000040c0| 09 09 09 7b 0d 0a 09 09 | 09 09 42 2e 57 61 6e 64 |...{....|..B.Wand|
|000040d0| 65 72 4f 72 43 61 6d 70 | 28 74 72 75 65 29 3b 0d |erOrCamp|(true);.|
|000040e0| 0a 09 09 09 09 42 2e 47 | 6f 61 6c 53 74 72 69 6e |.....B.G|oalStrin|
|000040f0| 67 20 3d 20 22 42 61 63 | 6b 20 75 70 20 74 68 65 |g = "Bac|k up the|
|00004100| 20 66 6c 61 67 20 63 61 | 72 72 69 65 72 21 22 3b | flag ca|rrier!";|
|00004110| 0d 0a 09 09 09 09 72 65 | 74 75 72 6e 20 74 72 75 |......re|turn tru|
|00004120| 65 3b 0d 0a 09 09 09 7d | 0d 0a 09 09 7d 0d 0a 0d |e;.....}|....}...|
|00004130| 0a 09 09 42 2e 47 6f 61 | 6c 53 74 72 69 6e 67 20 |...B.Goa|lString |
|00004140| 3d 20 22 46 69 6e 64 20 | 74 68 65 20 66 6c 61 67 |= "Find |the flag|
|00004150| 20 63 61 72 72 69 65 72 | 20 2d 20 6d 6f 76 65 20 | carrier| - move |
|00004160| 74 6f 20 22 24 42 2e 4d | 6f 76 65 54 61 72 67 65 |to "$B.M|oveTarge|
|00004170| 74 3b 0d 0a 09 09 72 65 | 74 75 72 6e 20 28 20 42 |t;....re|turn ( B|
|00004180| 2e 4d 6f 76 65 54 61 72 | 67 65 74 20 21 3d 20 4e |.MoveTar|get != N|
|00004190| 6f 6e 65 20 29 3b 0d 0a | 09 7d 0d 0a 09 72 65 74 |one );..|.}...ret|
|000041a0| 75 72 6e 20 53 75 70 65 | 72 2e 43 68 65 63 6b 53 |urn Supe|r.CheckS|
|000041b0| 71 75 61 64 4f 62 6a 65 | 63 74 69 76 65 73 28 42 |quadObje|ctives(B|
|000041c0| 29 3b 0d 0a 7d 0d 0a 0d | 0a 66 75 6e 63 74 69 6f |);..}...|.functio|
|000041d0| 6e 20 45 6e 65 6d 79 46 | 6c 61 67 54 61 6b 65 6e |n EnemyF|lagTaken|
|000041e0| 42 79 28 43 6f 6e 74 72 | 6f 6c 6c 65 72 20 43 29 |By(Contr|oller C)|
|000041f0| 0d 0a 7b 0d 0a 09 6c 6f | 63 61 6c 20 42 6f 74 20 |..{...lo|cal Bot |
|00004200| 4d 3b 0d 0a 09 6c 6f 63 | 61 6c 20 41 73 73 61 75 |M;...loc|al Assau|
|00004210| 6c 74 50 61 74 68 20 4c | 69 73 74 5b 31 36 5d 3b |ltPath L|ist[16];|
|00004220| 0d 0a 09 6c 6f 63 61 6c | 20 69 6e 74 20 69 2c 6e |...local| int i,n|
|00004230| 75 6d 3b 0d 0a 09 6c 6f | 63 61 6c 20 41 73 73 61 |um;...lo|cal Assa|
|00004240| 75 6c 74 50 61 74 68 20 | 41 3b 0d 0a 09 6c 6f 63 |ultPath |A;...loc|
|00004250| 61 6c 20 66 6c 6f 61 74 | 20 73 75 6d 2c 72 3b 0d |al float| sum,r;.|
|00004260| 0a 0d 0a 09 69 66 20 28 | 20 42 6f 74 28 43 29 20 |....if (| Bot(C) |
|00004270| 21 3d 20 4e 6f 6e 65 20 | 29 0d 0a 09 7b 0d 0a 09 |!= None |)...{...|
|00004280| 09 52 65 74 75 72 6e 50 | 61 74 68 20 3d 20 4e 6f |.ReturnP|ath = No|
|00004290| 6e 65 3b 0d 0a 09 09 52 | 65 74 75 72 6e 50 61 74 |ne;....R|eturnPat|
|000042a0| 68 54 61 67 20 3d 20 27 | 27 3b 0d 0a 09 09 69 66 |hTag = '|';....if|
|000042b0| 20 28 20 45 6e 65 6d 79 | 46 6c 61 67 2e 49 73 48 | ( Enemy|Flag.IsH|
|000042c0| 6f 6d 65 28 29 20 29 0d | 0a 09 09 7b 0d 0a 09 09 |ome() ).|...{....|
|000042d0| 09 69 66 20 28 20 46 52 | 61 6e 64 28 29 20 3c 20 |.if ( FR|and() < |
|000042e0| 30 2e 32 20 29 0d 0a 09 | 09 09 7b 0d 0a 09 09 09 |0.2 )...|..{.....|
|000042f0| 09 42 6f 74 28 43 29 2e | 62 46 69 6e 61 6c 53 74 |.Bot(C).|bFinalSt|
|00004300| 72 65 74 63 68 20 3d 20 | 74 72 75 65 3b 0d 0a 09 |retch = |true;...|
|00004310| 09 09 09 72 65 74 75 72 | 6e 3b 0d 0a 09 09 09 7d |...retur|n;.....}|
|00004320| 0d 0a 09 09 09 42 6f 74 | 28 43 29 2e 62 46 69 6e |.....Bot|(C).bFin|
|00004330| 61 6c 53 74 72 65 74 63 | 68 20 3d 20 66 61 6c 73 |alStretc|h = fals|
|00004340| 65 3b 0d 0a 09 09 09 2f | 2f 20 73 65 74 20 72 65 |e;...../|/ set re|
|00004350| 74 75 72 6e 20 70 61 74 | 68 0d 0a 09 09 09 66 6f |turn pat|h.....fo|
|00004360| 72 20 28 20 41 3d 45 6e | 65 6d 79 46 6c 61 67 2e |r ( A=En|emyFlag.|
|00004370| 48 6f 6d 65 42 61 73 65 | 2e 41 6c 74 65 72 6e 61 |HomeBase|.Alterna|
|00004380| 74 65 50 61 74 68 73 3b | 20 41 21 3d 4e 6f 6e 65 |tePaths;| A!=None|
|00004390| 3b 20 41 3d 41 2e 4e 65 | 78 74 50 61 74 68 20 29 |; A=A.Ne|xtPath )|
|000043a0| 0d 0a 09 09 09 7b 0d 0a | 09 09 09 09 69 66 20 28 |.....{..|....if (|
|000043b0| 20 41 2e 62 45 6e 61 62 | 6c 65 64 20 26 26 20 41 | A.bEnab|led && A|
|000043c0| 2e 62 4c 61 73 74 50 61 | 74 68 20 26 26 20 21 41 |.bLastPa|th && !A|
|000043d0| 2e 62 4e 6f 52 65 74 75 | 72 6e 20 29 0d 0a 09 09 |.bNoRetu|rn )....|
|000043e0| 09 09 7b 0d 0a 09 09 09 | 09 09 4c 69 73 74 5b 6e |..{.....|..List[n|
|000043f0| 75 6d 5d 20 3d 20 41 3b | 0d 0a 09 09 09 09 09 6e |um] = A;|.......n|
|00004400| 75 6d 2b 2b 3b 0d 0a 09 | 09 09 09 09 69 66 20 28 |um++;...|....if (|
|00004410| 20 6e 75 6d 20 3e 20 31 | 35 20 29 0d 0a 09 09 09 | num > 1|5 ).....|
|00004420| 09 09 09 62 72 65 61 6b | 3b 0d 0a 09 09 09 09 7d |...break|;......}|
|00004430| 0d 0a 09 09 09 7d 0d 0a | 09 09 09 69 66 20 28 20 |.....}..|...if ( |
|00004440| 6e 75 6d 20 3e 20 30 20 | 29 0d 0a 09 09 09 7b 0d |num > 0 |).....{.|
|00004450| 0a 09 09 09 09 66 6f 72 | 20 28 20 69 3d 30 3b 20 |.....for| ( i=0; |
|00004460| 69 3c 6e 75 6d 3b 20 69 | 2b 2b 20 29 0d 0a 09 09 |i<num; i|++ )....|
|00004470| 09 09 09 73 75 6d 20 2b | 3d 20 4c 69 73 74 5b 69 |...sum +|= List[i|
|00004480| 5d 2e 50 72 69 6f 72 69 | 74 79 3b 0d 0a 09 09 09 |].Priori|ty;.....|
|00004490| 09 72 20 3d 20 46 52 61 | 6e 64 28 29 20 2a 20 73 |.r = FRa|nd() * s|
|000044a0| 75 6d 3b 0d 0a 09 09 09 | 09 73 75 6d 20 3d 20 30 |um;.....|.sum = 0|
|000044b0| 3b 0d 0a 09 09 09 09 66 | 6f 72 20 28 20 69 3d 30 |;......f|or ( i=0|
|000044c0| 3b 20 69 3c 6e 75 6d 3b | 20 69 2b 2b 20 29 0d 0a |; i<num;| i++ )..|
|000044d0| 09 09 09 09 7b 0d 0a 09 | 09 09 09 09 73 75 6d 20 |....{...|....sum |
|000044e0| 2b 3d 20 4c 69 73 74 5b | 69 5d 2e 50 72 69 6f 72 |+= List[|i].Prior|
|000044f0| 69 74 79 3b 0d 0a 09 09 | 09 09 09 69 66 20 28 20 |ity;....|...if ( |
|00004500| 72 20 3c 3d 20 73 75 6d | 20 29 0d 0a 09 09 09 09 |r <= sum| )......|
|00004510| 09 7b 0d 0a 09 09 09 09 | 09 09 52 65 74 75 72 6e |.{......|..Return|
|00004520| 50 61 74 68 20 3d 20 4c | 69 73 74 5b 69 5d 3b 0d |Path = L|ist[i];.|
|00004530| 0a 09 09 09 09 09 09 52 | 65 74 75 72 6e 50 61 74 |.......R|eturnPat|
|00004540| 68 54 61 67 20 3d 20 4c | 69 73 74 5b 69 5d 2e 50 |hTag = L|ist[i].P|
|00004550| 69 63 6b 54 61 67 28 29 | 3b 0d 0a 09 09 09 09 09 |ickTag()|;.......|
|00004560| 09 72 65 74 75 72 6e 3b | 0d 0a 09 09 09 09 09 7d |.return;|.......}|
|00004570| 0d 0a 09 09 09 09 7d 0d | 0a 09 09 09 09 52 65 74 |......}.|.....Ret|
|00004580| 75 72 6e 50 61 74 68 20 | 3d 20 4c 69 73 74 5b 30 |urnPath |= List[0|
|00004590| 5d 3b 0d 0a 09 09 09 09 | 52 65 74 75 72 6e 50 61 |];......|ReturnPa|
|000045a0| 74 68 54 61 67 20 3d 20 | 4c 69 73 74 5b 30 5d 2e |thTag = |List[0].|
|000045b0| 50 69 63 6b 54 61 67 28 | 29 3b 0d 0a 09 09 09 7d |PickTag(|);.....}|
|000045c0| 0d 0a 09 09 7d 0d 0a 09 | 09 65 6c 73 65 0d 0a 09 |....}...|.else...|
|000045d0| 09 09 42 6f 74 28 43 29 | 2e 62 46 69 6e 61 6c 53 |..Bot(C)|.bFinalS|
|000045e0| 74 72 65 74 63 68 20 3d | 20 74 72 75 65 3b 0d 0a |tretch =| true;..|
|000045f0| 09 7d 0d 0a 0d 0a 09 69 | 66 20 28 20 28 50 6c 61 |.}.....i|f ( (Pla|
|00004600| 79 65 72 43 6f 6e 74 72 | 6f 6c 6c 65 72 28 53 71 |yerContr|oller(Sq|
|00004610| 75 61 64 4c 65 61 64 65 | 72 29 20 3d 3d 20 4e 6f |uadLeade|r) == No|
|00004620| 6e 65 29 20 26 26 20 28 | 53 71 75 61 64 4c 65 61 |ne) && (|SquadLea|
|00004630| 64 65 72 20 21 3d 20 43 | 29 20 29 0d 0a 09 09 53 |der != C|) )....S|
|00004640| 65 74 4c 65 61 64 65 72 | 28 43 29 3b 0d 0a 0d 0a |etLeader|(C);....|
|00004650| 09 66 6f 72 09 28 20 4d | 3d 53 71 75 61 64 4d 65 |.for.( M|=SquadMe|
|00004660| 6d 62 65 72 73 3b 20 4d | 21 3d 4e 6f 6e 65 3b 20 |mbers; M|!=None; |
|00004670| 4d 3d 4d 2e 4e 65 78 74 | 53 71 75 61 64 4d 65 6d |M=M.Next|SquadMem|
|00004680| 62 65 72 20 29 0d 0a 09 | 09 69 66 20 28 20 28 4d |ber )...|.if ( (M|
|00004690| 2e 4d 6f 76 65 54 61 72 | 67 65 74 20 3d 3d 20 45 |.MoveTar|get == E|
|000046a0| 6e 65 6d 79 46 6c 61 67 | 29 20 7c 7c 20 28 4d 2e |nemyFlag|) || (M.|
|000046b0| 4d 6f 76 65 54 61 72 67 | 65 74 20 3d 3d 20 45 6e |MoveTarg|et == En|
|000046c0| 65 6d 79 46 6c 61 67 2e | 48 6f 6d 65 42 61 73 65 |emyFlag.|HomeBase|
|000046d0| 29 20 29 0d 0a 09 09 09 | 4d 2e 4d 6f 76 65 54 69 |) ).....|M.MoveTi|
|000046e0| 6d 65 72 20 3d 20 46 4d | 69 6e 28 4d 2e 4d 6f 76 |mer = FM|in(M.Mov|
|000046f0| 65 54 69 6d 65 72 2c 30 | 2e 30 35 20 2b 20 30 2e |eTimer,0|.05 + 0.|
|00004700| 31 35 20 2a 20 46 52 61 | 6e 64 28 29 29 3b 0d 0a |15 * FRa|nd());..|
|00004710| 7d 0d 0a 0d 0a 66 75 6e | 63 74 69 6f 6e 20 62 6f |}....fun|ction bo|
|00004720| 6f 6c 20 41 6c 6c 6f 77 | 54 61 75 6e 74 28 42 6f |ol Allow|Taunt(Bo|
|00004730| 74 20 42 29 0d 0a 7b 0d | 0a 09 72 65 74 75 72 6e |t B)..{.|..return|
|00004740| 20 28 20 28 46 52 61 6e | 64 28 29 20 3c 20 30 2e | ( (FRan|d() < 0.|
|00004750| 35 29 20 26 26 20 28 50 | 72 69 6f 72 69 74 79 4f |5) && (P|riorityO|
|00004760| 62 6a 65 63 74 69 76 65 | 28 42 29 20 3c 20 31 29 |bjective|(B) < 1)|
|00004770| 29 3b 0d 0a 7d 0d 0a 0d | 0a 66 75 6e 63 74 69 6f |);..}...|.functio|
|00004780| 6e 20 62 6f 6f 6c 20 53 | 68 6f 75 6c 64 44 65 66 |n bool S|houldDef|
|00004790| 65 72 54 6f 28 43 6f 6e | 74 72 6f 6c 6c 65 72 20 |erTo(Con|troller |
|000047a0| 43 29 0d 0a 7b 0d 0a 09 | 69 66 20 28 20 43 2e 50 |C)..{...|if ( C.P|
|000047b0| 6c 61 79 65 72 52 65 70 | 6c 69 63 61 74 69 6f 6e |layerRep|lication|
|000047c0| 49 6e 66 6f 2e 48 61 73 | 46 6c 61 67 20 21 3d 20 |Info.Has|Flag != |
|000047d0| 4e 6f 6e 65 20 29 0d 0a | 09 09 72 65 74 75 72 6e |None )..|..return|
|000047e0| 20 74 72 75 65 3b 0d 0a | 09 72 65 74 75 72 6e 20 | true;..|.return |
|000047f0| 53 75 70 65 72 2e 53 68 | 6f 75 6c 64 44 65 66 65 |Super.Sh|ouldDefe|
|00004800| 72 54 6f 28 43 29 3b 0d | 0a 7d 0d 0a 0d 0a 66 75 |rTo(C);.|.}....fu|
|00004810| 6e 63 74 69 6f 6e 20 62 | 79 74 65 20 50 72 69 6f |nction b|yte Prio|
|00004820| 72 69 74 79 4f 62 6a 65 | 63 74 69 76 65 28 42 6f |rityObje|ctive(Bo|
|00004830| 74 20 42 29 0d 0a 7b 0d | 0a 09 69 66 20 28 20 42 |t B)..{.|..if ( B|
|00004840| 2e 50 6c 61 79 65 72 52 | 65 70 6c 69 63 61 74 69 |.PlayerR|eplicati|
|00004850| 6f 6e 49 6e 66 6f 2e 48 | 61 73 46 6c 61 67 20 21 |onInfo.H|asFlag !|
|00004860| 3d 20 4e 6f 6e 65 20 29 | 0d 0a 09 7b 0d 0a 09 09 |= None )|...{....|
|00004870| 69 66 20 28 20 46 72 69 | 65 6e 64 6c 79 46 6c 61 |if ( Fri|endlyFla|
|00004880| 67 2e 48 6f 6d 65 42 61 | 73 65 2e 42 6f 74 4e 65 |g.HomeBa|se.BotNe|
|00004890| 61 72 4f 62 6a 65 63 74 | 69 76 65 28 42 29 20 29 |arObject|ive(B) )|
|000048a0| 0d 0a 09 09 09 72 65 74 | 75 72 6e 20 32 35 35 3b |.....ret|urn 255;|
|000048b0| 0d 0a 09 09 72 65 74 75 | 72 6e 20 32 3b 0d 0a 09 |....retu|rn 2;...|
|000048c0| 7d 0d 0a 0d 0a 09 69 66 | 20 28 20 46 72 69 65 6e |}.....if| ( Frien|
|000048d0| 64 6c 79 46 6c 61 67 2e | 48 6f 6c 64 65 72 20 21 |dlyFlag.|Holder !|
|000048e0| 3d 20 4e 6f 6e 65 20 29 | 0d 0a 09 09 72 65 74 75 |= None )|....retu|
|000048f0| 72 6e 20 31 3b 0d 0a 0d | 0a 09 72 65 74 75 72 6e |rn 1;...|..return|
|00004900| 20 30 3b 0d 0a 7d 0d 0a | 0d 0a 66 75 6e 63 74 69 | 0;..}..|..functi|
|00004910| 6f 6e 20 66 6c 6f 61 74 | 20 4d 6f 64 69 66 79 54 |on float| ModifyT|
|00004920| 68 72 65 61 74 28 66 6c | 6f 61 74 20 63 75 72 72 |hreat(fl|oat curr|
|00004930| 65 6e 74 2c 20 50 61 77 | 6e 20 4e 65 77 54 68 72 |ent, Paw|n NewThr|
|00004940| 65 61 74 2c 20 62 6f 6f | 6c 20 62 54 68 72 65 61 |eat, boo|l bThrea|
|00004950| 74 56 69 73 69 62 6c 65 | 2c 20 42 6f 74 20 42 29 |tVisible|, Bot B)|
|00004960| 0d 0a 7b 0d 0a 09 69 66 | 20 28 20 28 4e 65 77 54 |..{...if| ( (NewT|
|00004970| 68 72 65 61 74 2e 50 6c | 61 79 65 72 52 65 70 6c |hreat.Pl|ayerRepl|
|00004980| 69 63 61 74 69 6f 6e 49 | 6e 66 6f 20 21 3d 20 4e |icationI|nfo != N|
|00004990| 6f 6e 65 29 0d 0a 09 09 | 26 26 20 28 4e 65 77 54 |one)....|&& (NewT|
|000049a0| 68 72 65 61 74 2e 50 6c | 61 79 65 72 52 65 70 6c |hreat.Pl|ayerRepl|
|000049b0| 69 63 61 74 69 6f 6e 49 | 6e 66 6f 2e 48 61 73 46 |icationI|nfo.HasF|
|000049c0| 6c 61 67 20 21 3d 20 4e | 6f 6e 65 29 0d 0a 09 09 |lag != N|one)....|
|000049d0| 26 26 20 62 54 68 72 65 | 61 74 56 69 73 69 62 6c |&& bThre|atVisibl|
|000049e0| 65 20 29 0d 0a 09 7b 0d | 0a 09 09 69 66 20 28 20 |e )...{.|...if ( |
|000049f0| 28 56 53 69 7a 65 28 42 | 2e 50 61 77 6e 2e 4c 6f |(VSize(B|.Pawn.Lo|
|00004a00| 63 61 74 69 6f 6e 20 2d | 20 4e 65 77 54 68 72 65 |cation -| NewThre|
|00004a10| 61 74 2e 4c 6f 63 61 74 | 69 6f 6e 29 20 3c 20 31 |at.Locat|ion) < 1|
|00004a20| 35 30 30 29 20 7c 7c 20 | 28 42 2e 50 61 77 6e 2e |500) || |(B.Pawn.|
|00004a30| 57 65 61 70 6f 6e 20 21 | 3d 20 4e 6f 6e 65 20 26 |Weapon !|= None &|
|00004a40| 26 20 42 2e 50 61 77 6e | 2e 57 65 61 70 6f 6e 2e |& B.Pawn|.Weapon.|
|00004a50| 62 53 6e 69 70 69 6e 67 | 29 0d 0a 09 09 09 7c 7c |bSniping|).....|||
|00004a60| 20 28 56 53 69 7a 65 28 | 4e 65 77 54 68 72 65 61 | (VSize(|NewThrea|
|00004a70| 74 2e 4c 6f 63 61 74 69 | 6f 6e 20 2d 20 45 6e 65 |t.Locati|on - Ene|
|00004a80| 6d 79 46 6c 61 67 2e 48 | 6f 6d 65 42 61 73 65 2e |myFlag.H|omeBase.|
|00004a90| 4c 6f 63 61 74 69 6f 6e | 29 20 3c 20 32 30 30 30 |Location|) < 2000|
|00004aa0| 29 20 29 0d 0a 09 09 09 | 72 65 74 75 72 6e 20 63 |) ).....|return c|
|00004ab0| 75 72 72 65 6e 74 20 2b | 20 36 3b 0d 0a 09 09 65 |urrent +| 6;....e|
|00004ac0| 6c 73 65 0d 0a 09 09 09 | 72 65 74 75 72 6e 20 63 |lse.....|return c|
|00004ad0| 75 72 72 65 6e 74 20 2b | 20 31 2e 35 3b 0d 0a 09 |urrent +| 1.5;...|
|00004ae0| 7d 0d 0a 09 65 6c 73 65 | 20 69 66 20 28 20 4e 65 |}...else| if ( Ne|
|00004af0| 77 54 68 72 65 61 74 2e | 49 73 48 75 6d 61 6e 43 |wThreat.|IsHumanC|
|00004b00| 6f 6e 74 72 6f 6c 6c 65 | 64 28 29 20 29 0d 0a 09 |ontrolle|d() )...|
|00004b10| 09 72 65 74 75 72 6e 20 | 63 75 72 72 65 6e 74 20 |.return |current |
|00004b20| 2b 20 30 2e 35 3b 0d 0a | 09 65 6c 73 65 0d 0a 09 |+ 0.5;..|.else...|
|00004b30| 09 72 65 74 75 72 6e 20 | 63 75 72 72 65 6e 74 3b |.return |current;|
|00004b40| 0d 0a 7d 0d 0a 0d 0a 00 | |..}.....| |
+--------+-------------------------+-------------------------+--------+--------+